微服务项目的问题
-
业务板块:用户模块,商品模块,购物车模块,订单模块,支付模块
-
服务拆分原则
- 创业型项目:先采用单体架构,快速开发,快速试错。随着规模扩大,逐渐拆分。
- 确定的大型项目:资金充足,目标明确,可以直接选择微服务架构,避免后续拆分的麻烦。
- 高内聚:每个微服务的职责要尽量单一,包含的业务相互关联度高、完整度高。
- 低耦合:每个微服务的功能要相对独立,尽量减少对其它微服务的依赖。
- 纵向拆分:按照业务模块来拆分。
- 横向拆分:抽取公共服务,提高复用性。
-
拆分服务:父工程用maven聚合,拆分为多个微服务的项目,每个微服务用一个专属数据库,每个服务之间采用restTemplate来调用远程服务
-
RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。但若在高并发的条件下,每个微服务都有多个实例,你想调用的服务接口是不一定的,且会有接口宕机的问题,所以仅用restTemplate是不能解决以上问题的。
-
方便微服务之间的调用,用到nacos技术。将服务提供者注册到nacos注册中心中,服务调用者通过注册中心区调用服务,其中同样用到负载均衡策略。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)