系统拆分:流程系统,拆分为画图系统(画图系统,流程文件系统),单点登陆系统,后台管理系统,订单系统,基础模块系统,ELK系统,搜索系统,论坛系统
一个大系统几十万行代码,N个人维护一份代码,merge耗时;
每次上线都要做复杂的检查,很多异常要处理;
技术升级可能导致有些部分不能用;
发布时每个人都要看自己那块有没有问题
一个人负责2-3个系统,拆分系统不是一次成功的,慢慢拆。
可以,因为刚开始初始化的时候,消费者会将提供者的地址等信息拉取到本地缓存,所以注册中心挂了可以继续通信
Dubbo协议
dubbo协议:默认就是走dubbo协议的,单一长连接,NIO异步通信,基于hessian作为序列化协议;适用的场景就是:传输数据量很小(每次请求在100kb以内),但是并发量很高
rmi协议:走java二进制序列化,多个短连接,适合消费者和提供者数量差不多,适用于文件的传输,一般较少用
默认情况下,dubbo是random load balance随机调用实现负载均衡,可以对provider不同实例设置不同的权重,会按照权重来负载均衡,权重越大分配流量越高,一般就用这个默认的就可以了。
1.调用链路自动生成 对各个服务之间的调用自动记录下来,然后自动将各个服务之间的依赖关系和掉哟个链路生成出来,做成一张图,显示出来 2.服务王文压力及时长统计,访问多少此,延时
比如服务A调用服务B,结果服务B挂掉了,服务A重试几次失败就降级,dubbo有mock机制