在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:bubbo开源软件地址:https://gitee.com/abstergo/bubbo开源软件介绍:为啥要用分布式:1:单独维护,互不影响,上线时,只上线一部分即可,不用全上线,2:增加吞吐量:多个服务调用一个服务时,eg:user模块,服务之间的负载均衡,3:资源最大化:让资源最大化计算主要服务,4:容灾:非重要模块GG,不会影响到主要模块 IO选型:IO模型众多,同步堵塞,同步非堵塞,异步非堵塞,多路复用IO,不同的IO决定着不同的吞吐量。结合大部分业务,主要采用同步IO,服务端采用主从模式,即,客户端连接完成后,以多线程配合线程池处理实际业务。网络协议:tcptcp,udp,http:主流皆采用tcp,没听说udp,作为同步非堵塞,还是有个确认机制较好,http作为RPC可以,但是吞吐量会下降,因为服务提供端定会做负载均衡,例如nginx,反向代理,这样就不会直接访问服务,是访问nginx再访问服务,所以就是1+1, 2017-8-14:调通了,只能说功能是ok的,还有好多问题,序列化往后退吧,一看都脑袋疼 2017-8-18:突然发现一个问题,如果是长连接的话,那还咋做负载均衡啊,如果有5个provider,是先弄5个长连接?然后service做负载?,还是长连接时做负载,感觉架构有点问题啊。 2017-8-31:突然又发现一个问题,假设a,b,c一次调用,c有可能拖垮了a,b咋办,原先我想的是有一层localservice分别调用a,b,c,那也不对啊,相当于localservice线程堵塞了,又引出了新技能点,服务升降级,熔断,半熔断(限流),超时处理 2017-9-14:monitor这个东西,看了一下宜信的开源,感觉一般,他那个东西是不侵入代码,做的中间件劫持,就是tomcat中先加载自定义类,个人感觉风险太高,因为监控去干扰主流程不值,不如直接在zk上监控。而且,服务器的各种监控有众多的开源的软件,例如zabbix,没必要去开发,费时费力,springboot这个东西有点皮,找不到实际的项目, |
请发表评论