微服务系统架构系列1——《轻量级微服务架构》读后感

图片发自简书App


图片发自简书App



4月11号买的书,5月11号开始写读后感和实践。截止现在,差不多读了有两遍。 整本书200页不到,比较薄。


第一遍是在高铁上读的,我看书比较快,加之本身也就200页不到,略过代码还有一些API介绍的文字,读完整本书,也就花了六个小时不到。当时就感觉这本书压根不值65块,书上讲的微服务概念、springboot、node.js、zookeeper、docker、jenkins,这些东西都是网上随便找篇博客就可以入门了,而且网上写的比书上更加通俗易懂。


第二遍基本是下班后在公司读的。读的比较细,不懂的地方会上网搜搜,也试着开始试着实践。可能因为我没有真正的自己搭过一套微服务的框架有关系,第二遍整个过程下来,跟第一遍的印象不一样,反而收获良多。随着作者的文字我开始思考:怎么注册服务、怎么发现服务、怎么做健康检查、怎么做网关、怎么持续集成。开始想书里是怎么做的,先实践一遍,然后想有没有更好的做法。

总结一下自己想到的微服务框架需要做到的事情:

1、server端和client统一,以及如何生成.java文件或.cs文件。

这个问题归根结底是一个沟通问题,如果是java跟java之间交流,其实不存在这个问题, 直接提供.java文件即可。但是,如果是java跟.net之间交流,或者java跟php之间的交流,那问题就比较坑。

可以用xsd或者pb来解决,然后做一个根据xsd或者pb生成service和client代码的工具。


2、服务注册

java+zookeeper来实现服务的注册


3、服务的发现(微服务网关)

可以分为两种,一个是前段,一个是后端。

前端可以通过node.js+zookeeper做个服务发现和反向代理

后端可用java+zookeeper来进行管理,提供一个java的客户端,客户端根据servicename来查询服务地址, 算出一个地址后,直接将请求post过去。

这样可以去中心化,不再需要网关帮忙转发请求, 这个应该也是ESB和为微服务的区别。

同时,可以将这个地址在客户端做个缓存,但是,服务地址发生变化时,客户端的地址也需要跟着变化。


4、服务的封装与发布

gitlab代码管理。

jenkins跑自动化测试case,跑sonar,生成jar包。

jenkins+docker部署到生产。

关于微服务网关,除了最重要的服务发现之外,我们还需要做以下内容:

1、安全认证

2、性能监控

3、日志分析

4、请求分片

5、静态响应

完成主要的1、2、3、4点之后,我们将一一的来考虑如果做。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容