下列是网页制作软件,最新黑帽seo教程,宁波seo自然优化技术,搜房网微服务技术栈
在之前的开发过程中#xff0c;我们将所有的服务都部署在一台服务器中#xff0c;当我们的服务开始越来越多#xff0c;业务越来越复杂#xff0c;当一台服务器不能承担我们的业务的时候#xff0c;就需要将不同的业务分开部署在不同的服务器上#xff0c;…微服务技术栈
在之前的开发过程中我们将所有的服务都部署在一台服务器中当我们的服务开始越来越多业务越来越复杂当一台服务器不能承担我们的业务的时候就需要将不同的业务分开部署在不同的服务器上这每一个单独分离的服务就是微服务这些搭载了单个业务的服务器就是【服务集群】。
这些服务集群是用来做具体的业务逻辑的当我们在调用服务的时候需要有一个【注册中心】去将每一个服务器的地址以及对应搭载的服务记录下来这样我们在调用服务的时候就知道如何去找这些服务。同样的不同的服务有不同的配置这些配置如果单独写在对应服务的服务器上那维护的难度就会上升这时候就需要一个【配置中心】去集中管理所有服务的配置。
并且还有一个【服务网关】用户通过他去访问具体的服务同时【服务网关】也具有请求路由以及负载均衡的作用。
在后端数据库中如果服务直接与数据库做交互那么访问的效率就会变慢这时候就需要【分布式缓存】来将数据库中的一些数据缓存到内存中只有缓存未命中的内容才会与数据库做交互并且加入了【分布式搜索】用于复杂的搜索逻辑统计和分析。
并且加入了【消息队列】用于异步通信缩短业务时间提高服务的并发。
【分布式日志服务】以及【系统监控链路追踪】用户监控和排查服务集群中出现的错误和执行时异常。
这些庞大的系统要部署通过人力去部署肯定是不现实的所以加入了【Jenkins】来帮助我们去部署项目并且通过【Docker】生成镜像以及自动部署这些过程叫做【持续集成】
由上面的服务架构以及后面的持续集成这些加起来一起整个的过程被称为【微服务】。 微服务技术栈——技术分类
微服务治理缓存技术异步通信技术分布式搜索技术持续集成DevOps
认识微服务
服务架构演变
单体架构将业务的所有功能集中在一个项目中开发打成一个包部署
优点
架构简单部署成本低
缺点
耦合度高
分布式架构根据业务功能对系统进行拆分每个业务模块作为独立系统开发称为一个服务。
优点
降低服务耦合有利于服务升级拓展
服务治理
服务拆分粒度如何服务集群地址如何维护服务之间如何实现远程调用服务健康状态如何感知
微服务介绍
微服务是一种经过良好架构设计的【分布式】架构方案微服务架构特征
单一职责微服务拆分粒度更小每一个服务都对应唯一的业务能力做到单一职责避免重复业务开发。面向服务微服务对外暴露业务接口自治团队独立技术独立数据独立每个服务有自己独立的数据库有自己独立的数据数据解耦部署独立隔离性强服务调用做好隔离容错、降级、避免出现级联问题高内聚低耦合降低服务产生影响的范围
微服务结构
微服务这种方案需要技术框架来落地全球的互联网公司都在积极尝试自己的微服务落地技术。在国内最知名的就是SpringCloud和阿里巴巴的Dubbo。 企业需求 SpringCloud
SpringCloud是目前国内使用最广泛的微服务框架。官网地址spring.io
他长这样 SpringCloud集成了各种微服务功能组件并基于SpringBoot实现了这些组件的自动装配从而提供了良好的开箱即用体验 SpringCloud与SpringBoot的版本兼容关系如下