Spring Cloud Alibaba中文文档地址
https://github.com/alibaba/spring-cloud-alibaba/wiki
Spring Cloud Version Hoxton.SR9
Spring Cloud Alibaba Version 2.2.6.RELEASE
Spring Boot Version 2.3.2.RELEASE
版本关系见
https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
修改项目的pom.xml,原parent标签可以删除
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-alibaba-dependenciesartifactId>
<version>${spring.cloud.alibaba.version}version>
<type>pomtype>
<scope>importscope>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>${spring.boot.version}version>
<type>pomtype>
<scope>importscope>
dependency>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-dependenciesartifactId>
<version>${spring.cloud.version}version>
<type>pomtype>
<scope>importscope>
dependency>
dependencies>
dependencyManagement>
浏览器地址https://start.aliyun.com/bootstrap.html或在idea中通过https://start.aliyun.com来创建
官方: 一个更易于构建云原生应用的动态服务发现(Nacos Discovery)、服务配置(Nacos Config)和服务管理平台。
官网
Spring Cloud Alibaba Nacos Discovery
Spring Cloud Alibaba Nacos Config
通过Mysql存储服务信息
nacos版本参考官方版本关系
https://github.com/alibaba/nacos/releases
本次使用windos版本的nacos
nacos默认使用集群模式启动,单机模式在bin目录下使用下方命令
startup.cmd -m standalone
或者修改bin目录下修改startup.cmd
set MODE="standalone"
之后直接双击startup.cmd
默认地址 http://192.168.0.102:8848
默认账号 nacos
默认密码 nacos
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
<version>${spring.cloud.alibaba.version}version>
dependency>
@SpringBootApplication
//Spring Cloud 原生注解 ,开启服务注册发现功能
@EnableDiscoveryClient
public class StockApplication {
public static void main(String[] args) {
SpringApplication.run( StockApplication.class, args );
}
}
spring:
cloud:
# 参考 https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-discovery.adoc#%E5%85%B3%E4%BA%8E-nacos-discovery-starter-%E6%9B%B4%E5%A4%9A%E7%9A%84%E9%85%8D%E7%BD%AE%E9%A1%B9%E4%BF%A1%E6%81%AF
nacos:
discovery:
# Nacos Server 启动监听的ip地址和端口
server-addr: 127.0.0.1:8848
# 注册的服务名
service: stock-service
# 命名空间ID,Nacos通过不同的命名空间来区分不同的环境,进行数据隔离,服务消费时只能消费到对应命名空间下的服务。
namespace: public
# 是否为临时实例,如果不是临时实例那么宕机后实例不会被删除
# ephemeral: true
# 当要上阿里云时,阿里云上面的一个云账号名
# access-key:
# 当要上阿里云时,阿里云上面的一个云账号密码
# secret-key:
# 使用Map格式配置,用户可以根据自己的需要自定义一些和服务相关的元数据信息
# metadata:
# 注册的端口,默认情况下不用配置,会自动探测,默认值-1
# port: -1
# 注册的IP地址,优先级最高
# ip:
# 当IP未配置时,注册的IP为此网卡所对应的IP地址,如果此项也未配置,则默认取第一块网卡的地址
# network-interface:
# 取值范围 1 到 100,数值越大,权重越大,默认1
# watch: 1
# 日志文件名
# log-name:
# Nacos集群名称
# cluster-name:
# 地域的某个服务的入口域名,通过此域名可以动态地拿到服务端地址
# endpoint:
# 是否集成Ribbon,一般都设置成true即可
# enabled: true
在4.1.的基础上进行修改
// ribbon客户端负载均衡注解
@LoadBalanced
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder){
RestTemplate restTemplate = builder.build();
return restTemplate;
}
String result = restTemplate.getForObject("http://服务名称/*/*", String.class);
可以通过启动多个服务实例后调用测试负载均衡
https://download.csdn.net/download/qq_42017523/44992268