作者回复: 比如说,一个妹子被劈腿了,她要跟渣男分手,分手这个事儿分两步,1)扇渣男一巴掌 2)吼一句:给老娘滚! 这两步一气呵成缺一不可,如果你只删了一巴掌,渣男还一脸懵逼都不知道这是为啥。所以两件事儿都做完了,才达成目的,要做都做,要么都不做。这就是事务的一致性 事务不一致的情况很常见,比如巴掌扇了,“滚”始终没有勇气喊出来,这种情况怎么办?这就是我在后面课程将要讲到的,如何用seata组件保证事务的一致性,同学敬请期待。
作者回复: spring.cloud.nacos.discovery或者spring.cloud.inetutils下可以指定宿主机IP,我一般本地测试就用这个方法,再设置docker网络用host模式,这样就可以共用同一个物理机
作者回复: 既然是AP倾向的系统(可用性优先+最终一致性),不可能保证100%的调用成功率,作为调用方要做好一致性保障。比如说两个强绑定的先后调用,如果一致性要求非常高,可以改成分布式事务,或者事务型消息,也可以在上游做重试+记录日志表+补偿job等方式容错
作者回复: 同学说的没错,像共识算法也是面试里经常被问到的问题
作者回复: apollo也很稳,国内用的挺广泛的,我自己感觉比spring cloud config好用
作者回复: gRPC太难用了,protobuf坑很多,而且有时候自定义新属性的时候,新手很可能不知道要“追加”新属性,而是删除之前老的上线属性加塞一个新属性,造成各种线上问题。横向比较淘系的hsf还有阿里开源的dubbo,确实开发维护成本上来讲grpc有点坑
作者回复: 这位同学你先坐稳扶好,别急,男人嘛还是要慢~慢~来~ 太快不好 车门已焊死,不学完你不能下车!
作者回复: 我也比较喜欢http rest调用,国外公司用的会比较多。相比hsf, dubbo这类在国内比较流行的框架来说,另一个在国外流行的grpc真的是太难用了,定义protobuf就够喝上一壶。不过dubbo集成成本更低,丢一个api就能给上下游依赖方做远程调用
作者回复: 举几个简单的例子吧,如果我想做线上灰度测试,那么我可以把一组服务发布到group A,网关层切一部分流量到A,这些流量就在group A内的服务间被消费。小公司也可以用这个机制做简单的热点隔离,比如说专门组一套hotkey group,当识别热点数据产生的时候,通知网关把特征流量导入hotkey group的服务中,这个区服务被热点打挂了也不会影响主要区域。 其实只要涉及到”分组“需求的,都可以变通来使用,freestyle
作者回复: 1. 同学理解的不错,通常情况下namespace用作租户隔离的情况比较多,因为大厂里经常会在不同环境下配置单独的nacos集群。比如测试环境和生产环境,这两个nacos一般不会混用。 2. 领域模型DDD其实是领域建模,并不是物理集群的意思,而是微服务拆分的范畴。说如何把一个庞大的业务,根据各自的业务属性和边界,分拆为一个个独立的领域,构建领域模型。比如我们经常听到的支付域、订单域其实就是顶层域,然后再逐渐向下分拆。