作者回复: 给你些关键词,你可以自己搜索了解一下吧,BASE,CAP,TCC,2PC,Seata
作者回复: 我们连的是本地的Consul Agent,Agent负责去连接Consul的集群,而不是我们的程序直接去连接Consul集群,关于这点可能是我没能在课程中讲的太明白,可以访问Consul Agent的文档看看 https://www.consul.io/docs/agent/basics.html
作者回复: Consul的集群是Consul自己的事情,在本地启动一个Consul Agent,Spring Cloud Consul连接这个Agent就行了。这个问题有人提过,Spencer Gibb的答复可以看这里 https://github.com/spring-cloud/spring-cloud-consul/issues/307
作者回复: Consul是CP的,但在工程方面还是做了不少工作,也支持多IDC等功能,生产环境还是可以推荐使用的,当然如果你是超大规模集群,还是建议拆一下。
作者回复: 1. 你可以先了解一下SOA,然后再来理解一下微服务。前后端分离是前端和后端拆开,后端为了实现某一个功能,还可以组合多个服务来实现。然后你说的每个服务都部署若干个,事实上也是这么做的,不管是不是微服务,我们其实都要求集群化部署。 2. 这几讲都是在介绍注册中心,Eureka、ZK、Consul这些都是不同的注册中心,在Spring Cloud的封装下,看起来用法很接近,你根据你的场景挑选一个用就好了。
作者回复: 感觉像是没连上,看看是不是有防火墙策略什么的
作者回复: Consul的服务端肯定还是要的,这个和你用什么容器是没关系的。
作者回复: Consul没办法对你的节点做健康检查,所以认为节点不能使用,消费者自然也就无法获取到waiter-service,你试试关了健康检查,应该就能获取到服务提供者了,management.health.consul.enabled=false
作者回复: 分布式事务方面,JTA这样的还是挺重的,一般都不太会用,你可以了解一下BASE、TCC等理论,不少实践都是基于它们来的。
作者回复: 我倒是觉得你可以把为什么没注册上的问题搞搞明白可能会更有帮助一些,毕竟维护两套不同的东西也有成本,我相信你的问题是能解决的。