spring微服务:注册中心可以不用吗?可以调service层吗?

青未了
  • 30

几个spring微服务的问题,请指教:

1、springboot开发用RestTemplate和feign方式,如果没有部署注册中心,也可以调用吧,也可以分布式部署微服务?那么很多场景下用户不需要对服务调用进行细粒度管控,是否可以不部署注册中心?

2、如果部署了注册中心如Eureka,是否所有controller都会被注册?注册中心会记录服务的调用情况包括日志等,那么正常从浏览器和APP发起的调用也会被记录吗?

3、服务提供者和消费者都要注册到注册中心,那么从浏览器和APP发起的调用应该没有注册消费者吧?这样注册中心的服务调用管理并不全面吧?是只包括微服务之间的调用吧?是否应只注册需要被其它微服务调用的controller而不是全部?

4、服务调用好像都是调用controller,能否调用其它微服务应用的service层?controller通常是为前端调用设计的,参数是DTO,而service的参数是DO|PO,在写业务时,可能更多使用后者。

5、用RestTemplate调用服务时,@LoadBalanced注解可实现负载均衡,如果没有部署注册中心,调用时直接写的服务方地址,怎么可能实现负载均衡呢?是否@LoadBalanced必须和注册中心一起用?没有注册中心的情况下如果一个微服务部署多个实例,我们是在nginx中配置集群的,调用地址就是集群的域名,即负载均衡是由nginx实现的,spring的负载均衡是由什么实现的?
6、微应用、网关、注册中心之间的关系:我猜想是否调用服务的地址写的是注册中心地址才会走注册中心,浏览器调用时写的是微服务应用地址所以不会被记录,是这样吗?注册中心起到了类似ESB的功能,包括第三方服务都可以注册到这里,大家都向注册中心请求是吗?不对吧,应该是访问网关地址?我记得dubbo是在每个微应用会引入一个jar,负责与注册中心的交互,在服务调用时,dubbo会指派一个服务提供者地址,调用将是直接调用这个微应用地址,dubbo也会同时把这次调用记录到dubbo-admin,但是从浏览器发起的调用不会被记录,

回复
阅读 3.3k
1 个回答
✓ 已被采纳

我觉得不要注册中心好像没啥问题,负载均衡可以用nginx或者阿里云等负载均衡做

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏