基本概念

分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体。

微服务架构概述

  • 微服务

    服务注册中心

  • Eureka (x)

  • Zookeeper
  • Consul
  • Nacos

    服务调用

  • Ribbon

  • LoadBalancer

    服务调用

  • Feign (x)

  • OpenFeign

    服务熔断降级

  • Hystrix (x)

  • resilience4j
  • sentienl

    服务网关

  • Zuul (x)

  • gateway

    服务配置

  • config

  • Nacos

    服务总线

  • Nacos

工程实例

约定>配置>编码

父工程

  • new project

    问题&技巧

  • file types

  • 父工程package是pom

    支付模块8001

image.png
image.png

业务类

  • 建表sql
  • entities
  • dao
  • service
  • controller

entities

image.png
lombok

  • payment实体类
  • commonResult json封装类

dao

mapper注解

service

service注解

controller

restController注解

测试

image.png

postman工具的使用

postman

run dashboard

  • 通过修改idea的workspace.xml的方式来快速打开run dashborad的窗口

Devtools

自动热部署
image.png

消费者订单模块80

仿照支付模块
tips:
httpClient
restTemplates

RestTemplate

多种便捷访问http服务的方法
便捷访问restful服务模块

  • config配置类

    测试访问

    yml冒号右边要有空格

    RequestBody注解 PathVariable注解

工程重构

系统有重构部分,重构

commons模块

maven clean install
引入自定义的api通用包

Zookeeper

  • 开源的分布式的,为分布式框架提供协调服务
  • 基于观察者模式设计的分布式服务管理框架
  • 一个领导者Leader 多个Follower追求者组成的集群
  • 半数以上节点存活,集群就能正常服务
  • 全局数据一致
  • 更新请求顺序执行
  • 数据更新原子性
  • 实时性

    数据结构

  • 整体上看作一棵树,每个节点称做一个ZNode.每一个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。

    应用场景

  • 统一命名服务

  • 统一配置管理
  • 统一集群管理
  • 服务器动态上下线
  • 软负载均衡

    临时节点

订单服务注册进Zookeeper