县蒙文网站建设汇报,网上做的比较好的竞彩网站,佛山网站到首页排名,如何搭建一个完整的网站一、微服务技术栈 二、单体架构和分布式架构的区别
1、单体架构#xff1a; 将业务的所有功能集中在一个项目中开发#xff0c;打成一个包进行部署
优点#xff1a;架构简单#xff0c;部署成本低缺点#xff1a;耦合度高
2、分布式架构#xff1a; 根据业务功能对系统…一、微服务技术栈 二、单体架构和分布式架构的区别
1、单体架构 将业务的所有功能集中在一个项目中开发打成一个包进行部署
优点架构简单部署成本低缺点耦合度高
2、分布式架构 根据业务功能对系统进行拆分每个业务模块作为独立项目开发称为一个服务
三、什么是微服务
微服务是一种经过良好架构设计的分布式架构方案微服务架构特征
单一职责微服务拆分粒度更小每一个服务都对应唯一的业务能力做到单一职责面向服务微服务对外暴露业务接口自治团队独立、技术独立、数据独立、部署独立隔离性强服务调用做好隔离、容错、降级避免出现级联问题 四、三种架构的区别
单体架构特点简单方便高度耦合扩展性差适合小型项目。例如学生管理系统分布式架构特点松耦合扩展性好但架构复杂难度大。适合大型互联网项目例如京东、淘宝微服务是一种良好的分布式架构方案优点是拆分粒度更小、服务更独立、耦合度更低缺点是架构非常复杂运维、监控、部署难度提高
五、什么是SpringCloud
1、SpringCloud是目前国内使用最广泛的微服务架构 2、SpringCloud集成了各种微服务功能组件并基于SpringBoot实现了这些组件的自动配置从而提供了良好的开箱即用体验包括如下组件
服务注册发现Eureka、Nacos、Consul服务远程调用OpenFeign、Dubbo服务链路监控ZIPkin、Sleuth统一配置管理SpringCloudConfig、Nacos统一网关路由SpringCloudGateway、Zuul流控、降级、保护、断路器Hystix、Sentinel
六、SpringCloud与SpringBoot的版本兼容关系
SpringCloud版本SpringBoot版本2021.x2.6.x2020.x2.4.xHoxton2.2.x2.3xGreenwich2.1.xFinchley2.0.xEdgware1.5.xDalston1.5.x
七、服务拆分注意事项
不同微服务不要重复开发相同业务微服务数据独立不要访问其他微服务的数据库微服务可以将自己的业务暴露为接口供其他微服务调用
八、服务远程调用的过程
1、注册RestTemplate
在OrderApplication中注册RestTemplate
Bean
public RestTemplate restTemplate() {return new RestTemplate();
}2、服务远程调用RestTemplate
修改OrderService的queryOrderById方法
Autowired
private RestTemplate restTemplate;public Order queryOrderById(Long orderId) {// 1.查询订单Order order orderMapper.findById(orderId);// 2.利用RestTemplate发起http请求查询用户// 2.1.url路径String url http://localhost:8081/user/ order.getUserId();// 2.2.发送http请求实现远程调用User user restTemplate.getForObject(url, User.class);// 3.封装user到Orderorder.setUser(user);// 4.返回return order;
}3、微服务调用方式
基于RestTemplate发起的http请求实现远程调用http请求做远程调用是与语言无关的调用只要知道对方的ip、端口、接口路径、请求参数即可
参考
黑马《SpringCloud教程》