实现服务注册组件-微服务网关

实现服务注册组件-微服务网关

首先我们可以看到上图,这次我们先实现 服务注册组件

当然这有一个疑问? 很多公司都是用nginx做服务网关,但是我这采用了nodejs来实现,为什么呢?

Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 有专业人士曾经测试过,nodejs的性能不比nginx差,不信? 玩玩你就知道。而且,用nodejs自己开发,我们可以实现更多 日志记录,请求时间,安全认证,数据缓存,请求分片,静态响应,灰度发布 等等功能。

首先我们需要一个接口

实现服务注册组件-微服务网关

然后实现它

实现服务注册组件-微服务网关

然后需要一个配置类

实现服务注册组件-微服务网关

继续我们需要该组件能够和项目一起启动,所以我们实现了ServletContextListener接口,并且从RequestMappingHandlerMapping取得 所有的请求映射,然后扫描

@GetMapping(value = "messageList",name = "messageList")

中的name的值,往zookeeper中去注册。

实现服务注册组件-微服务网关

 

转载于:https://my.oschina.net/u/3394890/blog/1529626