文章目录

  • 一、
  • Eureka1.0已经不维护闭源了,那么注册中心这块的微服务可以用什么?
  • zuul 和 Gateway之间的技术选型怎么理解?
  • 二、
  • 总结



一、

springcloud现在还用Eureka吗_响应式


Dubbo缺点语言绑定Java。

SpringCloud具有语言扩展性,也有不错的性能,做的后端架构,对于网络传输性能要求不是特别高。

Eureka1.0已经不维护闭源了,那么注册中心这块的微服务可以用什么?

很多公司还会使用Eureka,理由:他足够健壮,足够稳定。1.0在民间还在更新维护,市场占有率太大,有很多程序员去贡献代码,非常成熟,出任何问题,在网上都能找到解决方案,SpringCloud2020版唯一留下的Netflix的框架就是Eureka。

Nacos?Nacos出了问题有可能找不到,他的市场占有率不够高,以云原生为基础诞生的,在阿里云上跑的东西。用Eureka是搞自己的云服务。阿里公布的nacos和rocketmq都不是商业版,是阉割版的。

springcloud现在还用Eureka吗_微服务_02


springcloud现在还用Eureka吗_响应式_03

zuul 和 Gateway之间的技术选型怎么理解?

zuul是Netflix提供的框架,实现的是服务的网关,网管是接入接受请求,然后转发到服务上,具体找哪个服务,给指引方向的。用户请求打到网关上,网关会携带这你的请求转发给后端,后端处理完把数据拉回来,再返回给用户,用户和服务不互联,这样保证了后端的安全性,在网关层就可以过滤筛选不合法的请求。

Gateway基于WebFlux框架实现,而WebFlux底层使用了高性能ProjectReactor Rxjava模式通信框架Netty。

服务网关在微服务中的使用。

springcloud现在还用Eureka吗_微服务_04


maven聚合项目

springcloud现在还用Eureka吗_数据_05


微服务中的服务网关和单机项目的Controller挺像的。

springcloud现在还用Eureka吗_数据_06


springcloud现在还用Eureka吗_数据_07

技术难度 1 4 5
性能 1 3 5
zuul 1.x zuul 2.x Gateway
Tomcat Tomcat Tomcat/Netty
阻塞式 响应式 响应式
Filter servlet3.x servlet3.x/projectRector RxJava2

1.0效率低并发不高,2.0 3.0可以充分利用资源,如果要是用就要有载体,载体就是线程。

tomcat在servlet2.x的执行流程

dps = DispatchServlet

springcloud现在还用Eureka吗_微服务_08


阻塞式,一个请求对应一个线程,出不来201个,当线程池里面没有了,就进入了响应策略,是放弃还是等待。。。响应式

springcloud现在还用Eureka吗_微服务_09


springcloud现在还用Eureka吗_微服务_10

netty和tomcat哪个性能好一些,看场景,IO密集型返回的都是一些数据,增删改查,服务里面计算少,只是数据的搬运工用响应式。如果计算比较多,消耗CPU,对于消耗CPU的请求不想网站请求,像计算请求,生成去年到今年所有数据关联的数据项,交集,在业务逻辑里面有很多计算,计算密集型用zuul 1.0版本效率不会滴,里面每个线程都是跑满了,异步请求是为了从数据库拉数据时进入等待状态,跨节点这个等待期间线程没有事情办,所以为了让线程不闲着,就采用异步请求,请求回来线程检测到就通知一下。
不是什么时候都需要异步的。

二、

总结