SpringCloud 系列列表:
創(chuàng)新互聯(lián)憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識(shí)和豐厚的資源優(yōu)勢(shì),提供專業(yè)的網(wǎng)站策劃、成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都十余年的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都上千多家中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。文章名 | 文章地址 |
---|---|
01、Eureka - 集群、服務(wù)發(fā)現(xiàn) | https://blog.csdn.net/qq_46023503/article/details/128319023 |
02、Ribbon - 負(fù)載均衡 | https://blog.csdn.net/qq_46023503/article/details/128332288 |
03、OpenFeign - 遠(yuǎn)程調(diào)用 | https://blog.csdn.net/qq_46023503/article/details/128387961 |
04、Hystrix - 斷路器 | https://blog.csdn.net/qq_46023503/article/details/128408601 |
05、Sleuth - 鏈路追蹤 | https://blog.csdn.net/qq_46023503/article/details/128409339 |
06、Gateway - 網(wǎng)關(guān) | https://blog.csdn.net/qq_46023503/article/details/128430842 |
07、Alibaba - 介紹 | https://blog.csdn.net/qq_46023503/article/details/128434080 |
08、Nacos - 安裝、啟動(dòng) | https://blog.csdn.net/qq_46023503/article/details/128460411 |
09、Nacos - 配置文件中心 | https://blog.csdn.net/qq_46023503/article/details/128460649 |
10、Nacos - 注冊(cè)中心 | https://blog.csdn.net/qq_46023503/article/details/128460494 |
將 https://start.spring.io 改為 https://start.aliyun.com
1.2 修改 pom 文件4.0.0 org.springframework.boot spring-boot-starter-parent 2.3.12.RELEASE cn.nacos nacosclienta 0.0.1-SNAPSHOT nacosclienta Demo project for Spring Boot 17 Hoxton.SR12 2.2.7.RELEASE org.springframework.boot spring-boot-starter-web com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery org.springframework.boot spring-boot-starter-test test com.alibaba.cloud spring-cloud-alibaba-dependencies ${spring-cloud-alibaba.version} pom import org.springframework.boot spring-boot-maven-plugin netflix-candidates Netflix Candidates https://artifactory-oss.prod.netflix.net/artifactory/maven-oss-candidates false
1.3 修改 yml 文件server:
port: 8080
spring:
application:
name: nacosclenta
cloud:
nacos:
server-addr: localhost:8848 # 向 nacos 服務(wù)端注冊(cè)
username: nacos # 賬號(hào)
password: nacos # 密碼
discovery:
service: user-service # 指定名稱,不寫,默認(rèn)為服務(wù)名稱
namespace: d7e9db40-b7ff-4360-b48b-162e985a8a3b # 指定命名空間,值為命名空間的 id 值,如果不指定命名空間,默認(rèn)會(huì)注冊(cè)到 public 中
group: A-GROUP # 指定分組,沒有會(huì)自定創(chuàng)建,如果不指定分組,默認(rèn)是 DEFAULT_GROUP
1.4 給啟動(dòng)類添加注解(此版本不加也行)@SpringBootApplication
@EnableDiscoveryClient // 開啟 nacos 的服務(wù)發(fā)現(xiàn)
public class NacosclientaApplication {public static void main(String[] args) {SpringApplication.run(NacosclientaApplication.class, args);
}
}
1.5 啟動(dòng) nacos 服務(wù)端,然后啟動(dòng)項(xiàng)目訪問:http://localhost:8848/nacos
配置兩個(gè)服務(wù),一個(gè)為 one-service,另一個(gè)為 two-service
2.2 將兩個(gè)服務(wù)配置到不同的命名空間中使用 one-service 找尋 two-service
//one-service 的控制層
@RestController
public class TestController {@Autowired
private DiscoveryClient discoveryClient;
@GetMapping("/test")
public String test(){Listiservice = discoveryClient.getInstances("two-service");
return "ok";
}
}
結(jié)果:訪問 test ,發(fā)現(xiàn)結(jié)果為空,即訪問不到
2.3 將兩個(gè)服務(wù)配置到相同命名空間不同組中結(jié)果:訪問不到
2.4 將兩個(gè)服務(wù)配置到相同命名空間相同組中結(jié)果:可以訪問到
配置兩個(gè) nacos 服務(wù),一個(gè)為 one-service:8080,另一個(gè)為 two-service:8081,兩個(gè)服務(wù)在同一個(gè)命名空間同一個(gè)組中
3.2 在 two-service 中添加控制層測(cè)試方法@RestController
public class BController {@GetMapping("info")
public String info(){return "測(cè)試 feign 的遠(yuǎn)程調(diào)用";
}
}
3.3 修改 one-service 的 pom 文件添加 OpenFeign 的依賴和 springcloud 的管理依賴
org.springframework.cloud spring-cloud-starter-openfeign org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import
3.4 在 one-service 中創(chuàng)建遠(yuǎn)程調(diào)用接口@FeignClient("two-service") //注意名字為配置的名字
public interface IOpenFeign {@GetMapping("info")
public String info();
}
3.5 在 one-service 中創(chuàng)建控制層測(cè)試方法@RestController
public class TestController {@Autowired
private IOpenFeign iOpenFeign;
@GetMapping("/test")
public String test(){return iOpenFeign.info();
}
}
3.6 訪問測(cè)試訪問 http://localhost:8080/test,瀏覽器會(huì)輸出 “測(cè)試 feign 的遠(yuǎn)程調(diào)用”
4 在 Nacos 中使用 Gateway 4.1 前置條件配置兩個(gè) nacos 服務(wù),一個(gè)為 one-service:8080,另一個(gè)為 two-service:8081,兩個(gè)服務(wù)在同一個(gè)命名空間同一個(gè)組中
4.2 創(chuàng)建 getway 項(xiàng)目server:
port: 80
spring:
application:
name: gateway
cloud:
nacos:
server-addr: localhost:8848
username: nacos
password: nacos
discovery: # 需要和其他兩個(gè)服務(wù)在同一個(gè)命名空間和組下
namespace: d7e9db40-b7ff-4360-b48b-162e985a8a3b
group: A-GROUP
gateway:
discovery:
locator:
enabled: true # 開啟動(dòng)態(tài)路由
lower-case-service-id: true # 開啟小寫
4.3 訪問測(cè)試訪問 http://localhost:8080/test 和 http://localhost/one-service/test 的效果一致
5 Nacos Discovery Starter 更多的配置項(xiàng)6 集群 6.1 準(zhǔn)備三個(gè) Nacos 服務(wù)端6.2 修改每個(gè)服務(wù)端的 application.properties位置:nacos\conf\application.properties
# 1、修改第21行的端口,分別設(shè)置為 8848、8850、8852
server.port=8848
#-------------------------
# 2、將30+行的數(shù)據(jù)庫(kù)連接打開
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
6.3 修改每個(gè)服務(wù)器端的 cluster.conf.example位置:nacos\conf\cluster.conf.example
將 cluster.conf.example 名字改為 cluster.conf
# 將每個(gè)服務(wù)器都以 ip地址:端口 的形式配置
169.254.58.106:8848
169.254.58.106:8850
169.254.58.106:8852
6.4 啟動(dòng)測(cè)試同時(shí)開始三個(gè) nacos 服務(wù)端,出現(xiàn)一下結(jié)果集群成功
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧