珠海市建设局官方网站,wordpress 邮件 key,网站网页设计项目计划书,专业团队歌曲文章目录 认识微服务单体架构分布式架构需要考虑的问题 微服务微服务的具体架构微服务技术对比企业中的技术需求 总结 服务拆分注意事项 认识微服务
随着互联网行业的发展#xff0c;对服务的要求也越来越高#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。… 文章目录 认识微服务单体架构分布式架构需要考虑的问题 微服务微服务的具体架构微服务技术对比企业中的技术需求 总结 服务拆分注意事项 认识微服务
随着互联网行业的发展对服务的要求也越来越高服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢
了解微服务架构的优缺点
单体架构
单体架构将业务的所有功能集中在一个项目中开发打成一个包部署。 单体架构的优缺点如下
优点
架构简单部署成本低
缺点
耦合度高维护困难、升级困难
分布式架构
分布式架构根据业务功能对系统做拆分每个业务功能模块作为独立项目开发称为一个服务。 分布式架构的优缺点
优点
降低服务耦合有利于服务升级和拓展
缺点
服务调用关系错综复杂
需要考虑的问题 服务拆分的粒度如何界定服务集群地址如何维护服务之间如何调用服务健康状态如何感知 集群、微服务、分布式 ①. 微服务:拒绝大型单体应用,基于业务对微服务进行拆分,各个服务独立部署运行 (微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,它也可以是同一个服务器) ②. 集群、分布式、节点 集群:几台服务集中在一起,实现同一业务 集群可以是我是一个应用。这一个应用扛不住了把这个应用部署在不同的机器上对外提供的是一个服务 分布式:将一套系统拆分成不同子系统部署在不同服务器上(这叫分布式)节点:集群中的一个服务器 注意:集群(多个人在一起作同样的事情) 分布式(多个人在一起作不同的事)分布式中的每一个节点都可以做集群,而集群不一定是分布式的集群是个物理形态分布式是工作方式 举例: 小饭店原来只有一个厨师,切菜洗菜备料炒菜全干后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,两个厨师的关系是集群为了让厨师专心炒菜,把菜做到极致,再请了个配菜师负责切菜,备菜,备料 … 厨师和配菜师的关系是分布式一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群。一个配菜师因故请假了,但是其余的配菜师还是该啥就干啥,只是没请假的配菜师任务均匀的加量了,但他们的任务和职责是不变的,这是集群 微服务
微服务的架构特征
单一职责微服务拆分粒度更小每一个服务都对应唯一的业务能力做到单一职责自治团队独立、技术独立、数据独立独立部署和交付面向服务服务提供统一标准的接口与语言和技术无关隔离性强服务调用做好隔离、容错、降级避免出现级联问题
微服务的上述特性其实是在给分布式架构制定一个标准进一步降低服务之间的耦合度提供服务的独立性和灵活性。做到高内聚低耦合。因此可以认为微服务是一种经过良好架构设计的分布式架构方案 。、
微服务的具体架构 但方案该怎么落地选用什么样的技术栈全球的互联网公司都在积极尝试自己的微服务落地方案。
其中在Java领域最引人注目的就是SpringCloud提供的方案了。
微服务技术对比 企业中的技术需求 学习的使用的版本 SpringBoot版本是2.3.4.RELEASESpringCloud版本是Hoxton.SR8spring-cloud-alibaba-dependencies是2.2.2.RELEASE
propertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingjava.version1.8/java.versionspring-cloud.versionHoxton.SR8/spring-cloud.versionmysql.version5.1.47/mysql.versionmybatis.version2.1.1/mybatis.version
/properties总结 单体架构简单方便高度耦合扩展性差适合小型项目。例如学生管理系统 分布式架构松耦合扩展性好但架构复杂难度大。适合大型互联网项目例如京东、淘宝 微服务一种良好的分布式架构方案 ①优点拆分粒度更小、服务更独立、耦合度更低 ②缺点架构非常复杂运维、监控、部署难度提高
SpringCloud是微服务架构的一站式解决方案集成了各种优秀微服务功能组件
服务拆分注意事项
不同微服务不要重复开发相同业务微服务数据独立不要访问其它微服务的数据库微服务可以将自己的业务暴露为接口供其它微服务调用