博主
本文为微服务连载第一篇,如果有幸看到,还请找个时间仔细阅读,欢迎收藏或转载,如有不足之处烦请留言指正,共同进步,希望对你有帮助,谢谢
引言
和朋友聊天,招聘,看个行业要闻都是微服务... 最近几年确实是火到没朋友,至微服务架构出现后,越来越多的组织,企业,个人投入到该领域进行探索深耕,阿里巴巴早期用于服务治理的Dubbo项目更是成为Apache顶级开源项目
2017-2018年间一直在创业,更多的是停留在业务和与人打交道层面,在技术领域也没有太多的专研,现在静下来将SpringBoot学习记录一遍,后面我会使用SpringBoot的优势构建一个企业级的高可用架构
疑问
究竟什么是微服务,国内项目使用的主流架构又有哪些?为什么会有微服务?Spring框架应该都知道,那SpringBoot呢?与国内著名的Dubbo框架又有什么差异?到底倾向于什么样的架构会更合适你现在的项目?带着这些疑问就开始我们的探索吧。
微服务释义
顾名思义,微服务得从两个方面去理解,什么是"微"、什么是"服务", 微 狭义来讲就是体积小,而所谓服务,一定要区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以感知最小功能集。那举个例子就是多个tomcat,然后每个Tomcat完成一件独立的事情。
与单体架构区别
单体架构所有的模块全都耦合在一块,代码量大,维护困难,微服务每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来说比较好解决。
单体架构所有的模块都共用一个数据库,存储方式比较单一,微服务每个模块都可以使用不同的存储方式(比如有的用redis,有的用mysql等),数据库也是单个模块对应自己的数据库。
单体架构所有的模块开发所使用的技术一样,微服务每个模块都可以使用不同的开发技术,开发模式更灵活
终结
有幸在工作中参与过50多个tomcat组成的庞大应用体系,专人团队负责专一的服务,若其他团队需要接口,则由服务管辖团队提供,并维护好API文档。
最终我会使用微服务架构构建一套企业级的架构,真正做到高可用,规划涉及到的技术点如下:
SpringBoot WebSocket Netty4 Eureka Redis ActiveMQ Jenkins Maven Nginx Docker Freemarker MySQL
技术点后期可能会视情况进行调整
作者有话说:喜欢的话就请微信关注知码学院,请自备水,更多干、干、干货等着你