微服务介绍:微服务是指开发一个单个小型的但有业务功能的服务,每个服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。
优点:
1.解决了代码复杂性过高问题,它把可能会变得庞大的单体应用程序分解成一套服务。
2.局部代码修改更加简洁,一个服务出现问题不会影响到整个应用。
3.每个微服务都很小,响应更快。
4.开发简单、开发效率提高,一个服务可能就是专一的只干一件事。
5.项目技术进行跟新更加容易。
缺点:
1.微服务架构带来过多的运维操作
2.分布式系统可能复杂难以管理。
3.成本更高需要多台服务器。
springCLoud的主要组件
-
注册中心,服务的注册和发现机制,Eureka、Nacos、Zookeeper等
-
配置中心,集中管理服务的配置文件,Config、Nacos
-
API网关,实现路由和权限管理,Zuul、Gateway
-
服务通信,实现Restful的服务调用,Openfeign、Dubbo
-
负载均衡,平衡每个服务的负载量,Ribbon
-
熔断器,提高系统的可靠性,Hystrix、Sentinel
-
分布式事务,全局事务管理多个服务,Seata。
注册中心:
创建商品表t_product 字段:id、name、price、image
创建订单表t_order 字段:id、user_id、count、product_id、buy_time
要求实现数据库版本的接口
-
商品服务实现按id查询商品的接口
-
订单服务实现查询所有订单的接口