post
http://127.0.0.1:8001/pay/add
{"payNo": "payString","orderNo": "abcasdf","userId": "1","amount" : "9.99"
}delete
http://127.0.0.1:8001/pay/del/4
put
http://127.0.0.1:8001/pay/update
{"id":"3","payNo": "payUpdate","orderNo": "updateNo11111","userId": "3","amount" : "9.99"
}get
http://127.0.0.1:8001/pay/get/3
http://127.0.0.1:8001/pay/get/-3
http://127.0.0.1:8001/pay/errorget
http://127.0.0.1:8001/pay/all
Swagger3
@Tag controller类
@Schema model层的javaBean
@Operation 方法http://127.0.0.1:8001/swagger-ui/index.html---------------------------------------------------------------------------------------
################### spring cloud consul #########################################http://localhost/consumer/pay/get/1
http://localhost/consumer/pay/all
http://localhost/consumer/pay/add?payNo=12123&orderNo=12123&userId=3&amount=3.33
http://localhost/consumer/pay/del/1
http://localhost/consumer/pay/update?id=6&payNo=update12123&orderNo=update12123&userId=3&amount=3.33
http://localhost/consumer/pay/get/info
http://localhost/consumer/discovery
----------------------------------------------------------------------------------------consul --version
consul agent -dev
http://localhost:8500<!--SpringCloud consul discovery --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions></dependency>spring:application:name: cloud-payment-servicecloud:consul:host: localhostport: 8500discovery:service-name: ${spring.application.name}@EnableDiscoveryClientpublic static final String PaymentSrv_URL = "http://cloud-payment-service";//服务注册中心上的微服务名称
@LoadBalanced //使用@LoadBalanced注解赋予RestTemplate负载均衡的能力
CAP:
C:consistency强一致性
A:Availability可用性
P:Partition tolerance分区容错性
CA:单点集群,一致性,可用性
CP:分区一致性,性能不高
AP:分区可用性,降低分区一致性。Eureka:AP
Consul: CP
Zookeeper:CP<!--SpringCloud consul config--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-config</artifactId><exclusions><exclusion><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency>bootstrap.ymlspring:application:name: cloud-payment-service####Spring Cloud Consul for Service Discoverycloud:consul:host: localhostport: 8500discovery:service-name: ${spring.application.name}config:profile-separator: '-' # default value is ",",we update '-'format: YAML
# watch:
# wait-time: 1# config/cloud-payment-service/data# /cloud-payment-service-dev/data# /cloud-payment-service-prod/dataconsul界面操作:key/value
config/
cloud-payment-service/
cloud-payment-service-dev/
cloud-payment-service-prod/key:data
value:
dataconfig:info: configdata version 1.0http://localhost:8001/pay/get/info
@RefreshScope // 动态刷新
以前ribbon,现在的loadBalanced。客户端负载均衡consul配置持久化
新建mydata文件夹,
新建consul_start.bat文件
内容如下
@echo.服务启动......
@echo off
@sc create Consul binpath= "D:\Downloads\consul_1.21.5_windows_amd64\consul.exe agent -server -ui -bind=127.0.0.1 -client=0.0.0.0 -bootstrap-expect 1 -data-dir D:\Downloads\consul_1.21.5_windows_amd64\mydata "
@net start Consul
@sc config Consul start= Auto
@echo.Consul start is OK......success
@pause<!--loadbalancer--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId></dependency>loadbalancer默认算法有两种:轮询和随机。
RoundRobinLoadBalancer----------------------------------------------------------------------------------------