美文网首页框架类互联网技术交流Java
微服务系统架构系列1——《轻量级微服务架构》读后感

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

作者: 窝牛狂奔 | 来源:发表于2017-05-11 11:27 被阅读280次
    微服务系统架构系列1——《轻量级微服务架构》读后感 微服务系统架构系列1——《轻量级微服务架构》读后感

    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点之后,我们将一一的来考虑如果做。

    相关文章

      网友评论

        本文标题:微服务系统架构系列1——《轻量级微服务架构》读后感

        本文链接:https://www.haomeiwen.com/subject/tlkotxtx.html