微服务项目的问题

  1. 业务板块:用户模块,商品模块,购物车模块,订单模块,支付模块

  2. 服务拆分原则

    • 创业型项目:先采用单体架构,快速开发,快速试错。随着规模扩大,逐渐拆分。
    • 确定的大型项目:资金充足,目标明确,可以直接选择微服务架构,避免后续拆分的麻烦。
    • 高内聚:每个微服务的职责要尽量单一,包含的业务相互关联度高、完整度高。
    • 低耦合:每个微服务的功能要相对独立,尽量减少对其它微服务的依赖。
    • 纵向拆分:按照业务模块来拆分。
    • 横向拆分:抽取公共服务,提高复用性。
  3. 拆分服务:父工程用maven聚合,拆分为多个微服务的项目,每个微服务用一个专属数据库,每个服务之间采用restTemplate来调用远程服务

  4. RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。但若在高并发的条件下,每个微服务都有多个实例,你想调用的服务接口是不一定的,且会有接口宕机的问题,所以仅用restTemplate是不能解决以上问题的。

  5. 方便微服务之间的调用,用到nacos技术。将服务提供者注册到nacos注册中心中,服务调用者通过注册中心区调用服务,其中同样用到负载均衡策略。

posted @ 2024-05-27 20:14  Hanyta  阅读(6)  评论(0编辑  收藏  举报