上海网站建设上海员君,李杰老师网站建设,鲁权屯网站建设,网站底部代码下载目录
服务架构演变
单体架构
分布式架构
分布式架构要考虑的问题
微服务
初步认识
案例Demo
服务拆分注意事项
服务拆分示例
服务调用 服务架构演变 单体架构 将业务的所有功能集中在一个项目中开发#xff0c;打成一个包部署优点#xff1a; 架构简单部署成本低缺…目录
服务架构演变
单体架构
分布式架构
分布式架构要考虑的问题
微服务
初步认识
案例Demo
服务拆分注意事项
服务拆分示例
服务调用 服务架构演变 单体架构 将业务的所有功能集中在一个项目中开发打成一个包部署优点 架构简单部署成本低缺点 耦合度高扩展性差(维护困难、升级困难)适合小型项目 分布式架构 根据业务功能对系统进行拆分每个业务模块作为独立项目开发称为一个服务优点 降低服务耦合有利于服务升级拓展缺点 服务调用关系错综复杂架构复杂难度大适合大型互联网项目 分布式架构要考虑的问题 服务拆分粒度如何服务集群地址如何维护服务之间如何实现远程调用服务健康状态如何感知 微服务 微服务是一种经过良好架构设计的分布式架构方案优点 拆分粒度更小、服务更独立、耦合度更低缺点 架构非常复杂运维、监控、部署难度提高微服务的架构特征单一职责 微服务拆分粒度更小每一个服务都对应唯一的业务能力做到单一职责避免重复业务开发自治 团队独立、技术独立、数据独立独立部署和交付面向服务 对外暴露业务接口隔离性强 服务调用做好隔离、容错、降级避免出现级联问题 初步认识 SpringCloud是目前国内使用最广泛的微服务框架它集成了各种微服务功能组件并基于SpringBoot实现了这些组件的自动装配从而提供了良好的开箱即用体验 DubboSpringCloudSpringCloudAlibaba技术对比 案例Demo 服务拆分注意事项 1.不同微服务不要重复开发相同业务2.微服务数据独立不要访问其它微服务的数据库3.微服务可以将自己的业务暴露为接口供其它微服务调用 服务拆分示例 cloud-demo父工程管理依赖 order-service订单微服务负责订单相关业务 user-service用户微服务负责用户相关业务 服务调用 修改order-service中的根据id查询订单业务要求在查询订单的同时根据订单中包含的userId查询出用户信息一起返回在order-service中向user-service发起一个http的请求调用http://localhost:8081/user/{userId}接口1.注册RestTemplate的实例到Spring容器 2.修改order-service服务中的queryOrderById方法 3.测试成功即基于RestTemplate发起的http请求实现远程调用http请求做远程调用是与语言无关的调用只要知道对方的ip、端口、接口路径、请求参数即可