微服务架构:什么是微服务

博主

本文为微服务连载第一篇,如果有幸看到,还请找个时间仔细阅读,欢迎收藏或转载,如有不足之处烦请留言指正,共同进步,希望对你有帮助,谢谢

引言

和朋友聊天,招聘,看个行业要闻都是微服务... 最近几年确实是火到没朋友,至微服务架构出现后,越来越多的组织,企业,个人投入到该领域进行探索深耕,阿里巴巴早期用于服务治理的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

技术点后期可能会视情况进行调整


作者有话说:喜欢的话就请关注Java面试必修 https://www.itmsbx.com ,请自备水,更多干、干、干货等着你

posted @ 2018-09-22 21:05  Java面试必修  阅读(4223)  评论(0编辑  收藏  举报