如何踏踏实实学点东西,提升内功

【今日话题】

如何踏踏实实学点东西,提升内功

1、这话题好、最近看书老是记不住  - zhangsheng

2、实战,思考,再看书... - 明

3、放空思维,给自己半年假期… 平息信息爆炸,吸收自己需要的… 成长快,现在这个信息爆炸的时代…人人全栈,有谁是专家…天天接受的都是谁看了大数据,谁又学c,你就毛了,别忘记你有自己的计划,不要一直疲劳学习…适当放松… 多复盘 - 金灶沐

4、各种架构师,分布式架构,分布式事务  - 我不叫大脸猫

5、分布式我玩的六,架构,高并发,分布式,性能优化…我工作内容  - 金灶沐

6、我觉得想提升内功就要做项目,实践出真知,计算机科学是一门实践科学  - 我不叫大脸猫

7、问题驱动,没问题的学个屁啊

然后撸撸能及时有收获的代码,押注太长远的几乎不靠谱,几率太小  - 种树人

8、踏踏实实还真不容易,需要规划,需要时间管理,需要心态   - 蓝至

  

9、工匠精神  - 浪笛

10、简单的话说,就是坚持,只要能坚持,每天进步一点点,时间长了就会有很大的收获的。

11、关一个月  - 乔楚

12、利用通勤时间多看书。 - windk

13、我觉得吧应该考虑高效的学习比较合适吧,工作那么忙,很难踏实吧 - noel_92

14、学习只能是非工作时间。 - windk

15、是的 - noel_92

16、提升内功 需要 有结构,有系统。 看书是最好的方式。当然还有 多写代码。 看书之余,要多写代码。 这些都是 非工作时间的。我的一个体验是  上下班路上看书, 到家写代码。- windk

【经典语录】

长夜将至,我从今开始加班,至死方休。我将不娶妻、不要钱、不生子。我将不求补贴,不争荣宠。我将尽忠职守,生死於斯。我是黑暗中的利剑,岗位上的守卫。我是公司的永动机,破晓时分的光线,唤醒同事的号角,守护公司的坚盾。我将生命与荣耀献给CEO,今夜如此,夜夜皆然。——《加班的phper》

【其他问答】

1、弱弱地问mysql主从同步,mysql.user的信息不一致,不影响同步吧? - vk

不影响  - 我不叫大脸猫

不要同步mysql 库 - 黑夜路人

对,MySQL自带的那几个库都别同步,MySQL应该把这个做了,也就多一行if,return 代码而已,搞不懂为啥不默认加上  - 种树人

能控制同步的库吗  - vk

有参数转门指定哪些库不同步,replicate打头的,如果用otter的话就更简单了,设置一下同步哪些库就哦了,读binlog的时候直接就过滤掉了  - 我不叫大脸猫

主主同步是用什么软件,有台做备份的主 ?  - Ado

MySQL自带主主  - yongsean

能把自己所有信息同步到另一台?  - Ado 

设置需要监控的库和表,做同步  - yongsean

 

数据库主从最好搞了个难搞的是高可用  - 我不叫大脸猫

刚刚查一下高可用,完全不会  - vk

高可用说白了就是一堆数据库组个队打副本, 队里面不管谁挂了, 只要其他人还活着, 就能继续打怪, 中间挂了的那个还能复活, 队伍里还能随时加入新队员  - 我不叫大脸猫

db 的高可用需要应用层做点事  - yongsean

应用层是指?  - 我不叫大脸猫

就是还得想个办法来自动切,切库  - yongsean

中间件不就自动切了么, 应用层不需要做吧  - 我不叫大脸猫

proxy 方案? - yongsean

恩 - 我不叫大脸猫

proxy 其实也有单点问题 - yongsean

阿里系不是最喜欢搞中间件么?oneproxy、atalas、mysql proxy - 我不叫大脸猫

kindsharp,中间件不一定是 proxy 啊。。。tddl 就是做在应用里面的 - yongsean

可能应用层定位不一样  - 我不叫大脸猫

其实原理也简单的,就是跑一个 agent 和 db 实例一起,然后把 db 注册到 zk 之类得玩意,然后让应用层来 watch,发生故障可以自动切库,这样就避免单点问题 - yongsean

这个就相当于把proxy做到应用层里了, 分布式的,然后你这个也有问题哦,你的注册中心是个单点哦  - 我不叫大脸猫

有集群    - yongsean

如果你说注册中心能做分布式, 做集群, 那么proxy一样可以分布式, 可以集群, 同样没有单点问题,oneproxy貌似就可以做服务注册,也有主从切换机制,所以说高可用放应用层做还是放服务层做, 这个完全就是看心情喽, 都能做, 做了也都没错 - - 我不叫大脸猫

不同场景,放到db上我可以控制高并发写,放到应用我可以控制队列写,放到db上降级不太好做,放到应用能做很多事,不同场景而已,不要强制扭到一起…高可用不光是切换库保证可用,还要保证一致。  维护的状态都不同… - 金灶沐

我读写分离,用哪个中间件好呢 ? - vk

就跟多数据中心概念也不同… atalas  - 金灶沐

放到应用层不是很好升级,而且连接数很多  - yongsean

你明显用中间件… - 金灶沐

这是不太好的地方,proxy 的方案运维难度高一个量级  - yongsean

一方面吧… 反正我db都做proxy,中间件…我刚体检呢  - 金灶沐

光是搞定发布 proxy 无报错就得在发布系统下一番功夫  - yongsean

放到db上我可以控制高并发写,放到应用我可以控制队列写,放到db上降级不太好做,放到应用能做很多事,不同场景而已,金大大能详细讲讲咩 - 我不叫大脸猫

我提个思路,并发写,要突破行锁  - 金灶沐

比如放db上如何控制高并发写, 为啥放应用上就不行   - 我不叫大脸猫

事务,主要在锁和sleep上,主动权  - 金灶沐

并发写必须要用事务 ,事务就必须加锁  - 我不叫大脸猫

就跟接口你维护还是别人维护   - 金灶沐

我现在维护主从,还傻逼,就是停机,从a库复制到b库,然后就当同步成功,程序又修改b库的链接   - vk

我们的 proxy 前面加了 lvs,发布系统联动 lvs 和 proxy 的流量检测才搞定无缝升级  - yongsean

所以我能突破啊 ,只不过稍微merg下offset而已,手机不方便讲太多… 这个需要你对mysql有深入了解,mvcc也是日志,行为也是日志…   - 金灶沐

嗯, 打算看看姜神的mysql系列好好深造一下   - 我不叫大脸猫

2、最好能说下PHP 协程 的实现 ?

php下的简单,yeild 就是切换cpu - 金灶沐

有啥坑吗  - 明

不停的内部切换。直到完成。让每个携程都有时间运行。不能做耗时超做。但坑不是yeild的 - 金灶沐

能 fork  然后 yeild 吗 PHP - 明

大门的zan矿建不就是利用了yeild,fork干吗 ?fork就是新进程了,做回调 串行执行 回调。然后yeild关键字就行吧。- 金灶沐

恩 就是在想 能不能  多进程 yeild  - 明

php的fork我不懂。。那没意义,又要有多进程通信了,在一个进程就是资源共享。- 金灶沐

恩  又要IPC了 - 明

管道不行 ,看效率吧,反正我们在java里很少用这个 - 金灶沐

恩  JAVA 里  nio 啥的?。。JAVA 不熟 - 明

nio不是这个啊,你概念混了吧 - 金灶沐

异步io  - 我不叫大脸猫

其实也是做队列,做并发调度 - 金灶沐

额  - 明

猫爷 你居然能说出异步io,我也醉了。如果想支持海量的并发,就需要做到局部串行。队列限制最大处理队列quee + N*worker,并行调度。这也是nginx的调度方式。。master + worker + 多路 - 金灶沐

金爷说的是那个netty吧,他那里面不就这么干的么 - tywei

不是异步io ? - 我不叫大脸猫

伪异步,是同步 - 金灶沐

难道我也记混了?对java不熟  - 我不叫大脸猫

那是一整套的东西。 - tywei

几乎高并发都是局部串行。我写过go的。哈哈哈 ,go的 携程太轻量。大批量的携程会处理不过来。性能地下。。雪崩效应 - 金灶沐

scala的akka,类似erlang ,是actor模型- 雷澍

“go的 携程太轻量。大批量的携程会处理不过来。性能地下。。雪崩效应”  这个能细谈一下么? - tywei

你们这些知识是怎么获取到的?  - Ado

actor csp 很相似,不要搞混。  - 金灶沐

看书喽, 看代码喽, 动手喽   - 我不叫大脸猫

应该是文档+实践+源码   - tywei

actor csp 从没听说过都  - Ado

并发模型。都是基于消息的,一个在乎send 一个是recv - 金灶沐

Actor之间直接通讯,而CSP是通过Channel通讯,CSP更加松耦合  - Ado

额。 tywei go的携程是2k出事栈 ,他的分配方式 cache -> 控制中心->heap  分割链表。而且还是 copy栈方式。他创建和销毁一个携程瞬间完成。。几乎不耗费什么,而且 p 也会做go的服用池子。cpu资源有限。人可以同时看3个东西,同时看5个就废了。。cpu也是。如果太过集中处理也废  这时候我们要限制过多的go携程。做成队列方式。阻塞模式。让worker去消费,这样他会一直保持在一个状态之下  

erlang的进程貌似也是类似的机制   - 我不叫大脸猫

不是。- 金灶沐

@我不叫大脸猫 erlang的协程是actor模型,go才是csp  - viktor

我觉得协程最大的好处是简化开发,较线程cpu占用低 - 这个人很开心

不是哦   - viktor

协程不用上下文切换,很多CPU的cache都可以复用 - Song

3、通过nginx代理图片资源,该图片会先下载到nginx服务器吗?  - tiyee

不会 但会缓存静态资源 - 是非

不是会先下载再缓存资源吗?  - 菜鸟

这个怎么说呢,nginx做代理了,应该会下载的  - 黄隆

是这样的,我用了一个图床,但是它不支持https,所以我要通过一个代理,我的意思是,通过代理访问资源,资源的流量会通过这个代理吗 ? - tiyee

如果 下载  nginx 不是悲剧了 - tony

你不存本地而已,必须下载呀  - 黄隆

如果流过代理服务器,图床就没有意义了 - tiyee

肯定会流过服务器,不了解nginx对这些资源的缓存策略,按理来说nginx不会下载图片,要不然感觉这个设计会很有点。。。 - 廖强

没有配置 cache 不会 - 姜小浪

是不就是一个代理啊 - tony

就看对下载怎样理解了  - 黄隆

我以为nginx代理,是重定向,将请求直接链接到目标资源 ,如果还需要流向nginx服务器,就坑爹了 - tiyee

你都说了nginx是7层的   - 黄隆

我也以为就是跳转而已 - tony

我觉得肯定要流量的 ,你测试一下,监控流量 ,然后告诉我们真相  - 黄隆

跳转不是反向代理啊  - 廖强

nginx做代理,用图片的client请求的是nginx的ip吧, 最终拿到的图片数据也是此ip提供的吧, 那此ip从哪拿图片数据呢? 还不是从被代理图床拿么。。 那能叫代理么。。。跳转不叫代理 - Nemo 

是的  - tiyee

如果client不支持https那跳转有什么意义, 依旧不支持 - Nemo 

恩,应该是会流过nginx的,那么nginx的宽带成了瓶颈,图床失去了意义 - tiyee

对~不过,你可以搞N个nginx~ 当然,宽带要能累加的。。 图床有cdn加速吧?如果有的话, 你的nginx要能跟cdn媲美。 否则就浪费了~  - Nemo

有  - tiyee

所以,最简单的办法就是让图床支持https~  - Nemo 

但是cdn也不支持https  - tiyee

换服务商。。 - Nemo 

为啥图片还要支持https  - 黄隆

劫持 - Nemo 

现在的运营商好贱,特别是移动 - 黄隆

用lvs是不是就可以不经过流量了? - hawklim|浩克 

 

然后,如何做好反劫持?  - Lin

是的,据说https和httpdns可以 ,直接用ip访问可以减少一部分 - 黄隆

lvs 可以  - 吴凯

或者用nginx tcp代理 - 黄隆

不加密都不行。。。 图片上https不是要防止dns污染。。 是防止内容劫持。。 我们项目就有劫持,莫名其妙一张图片就变成广告了~ html页面还经常被插入广告js。。。 https标配了~ - Nemo   

@tiyee nginx tcp或者可以解决你的问题 - 黄隆

印象中一个网页 如果里面的图片不是https,浏览器地址栏就不显示https 标识 - 星海湾

如果页面是https,那么资源必须是https,不然有的浏览器不加载  - tiyee

【分享链接】

1、[ Actor模型和CSP模型的区别 ] http://www.jdon.com/concurrent/actor-csp.html

2、[ 一个Laravel队列引发的报警 ] http://huoding.com/2015/06/10/444

3、[ 穷佐罗的Linux书目前已经完成... ] ?jumpfrom=weibocom&featurecode=&oid=83147&from=groupmessage&sourceType=&luicode=&lfid=83147&uid=&id=DB5esEkT8&v_p=11&type=comment

4、[ Linux内存中的Cache真的能被回收么?] http://liwei.life/2016/04/26/linux%E5%86%85%E5%AD%98%E4%B8%AD%E7%9A%84cache%E7%9C%9F%E7%9A%84%E8%83%BD%E8%A2%AB%E5%9B%9E%E6%94%B6%E4%B9%88%EF%BC%9F/

5、[ 分布式事务:不过是在一致性、吞吐量和复杂度之间,做一个选择 ] http://mp..qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=&idx=1&sn=f5f73354d162a7561b3d73c204a4d1f5#wechat_redirect

6、[ 非科班出身的程序员应当为自己补充哪些知识? ] https://www.zhihu.com/question/50376892

7、[ PHP-FPM子进程数量应该如何设置? ] ?id=50992631

8、[ 通过启用php-fpm的slowlog来解决PHP CPU占用过高问题 ]  http://www.linuxde.net/2013/01/11854.html

9、[ php-fpm大量占用CPU该如何解决 ] http://amh.sh/bbs/post-4985-1-1.htm

10、[ 各种编程语言的深度学习库整理 ] http://mp..qq.com/s?__biz=MzI1MTIzMzI2MA==&mid=&idx=1&sn=9b27df5ad5cafef02df21eaf11&scene=1&srcid=09084RYShxuPe12XBidvDIFs#wechat_redirect