最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringCloud通過Nacos實(shí)現(xiàn)注冊中心與遠(yuǎn)程服務(wù)調(diào)用詳解流程

 更新時間:2022年07月12日 10:36:00   作者:有頭發(fā)的程序猿!  
如果不滿足eureka注冊中心,那么本文記錄的Nacos是不二之選。本文主要記錄Springboot基于Nacos實(shí)現(xiàn)注冊中心以及遠(yuǎn)程服務(wù)調(diào)用

本文主要記錄基于Nacos實(shí)現(xiàn)服務(wù)注冊中心和遠(yuǎn)程服務(wù)調(diào)用

1. 基于Nacos實(shí)現(xiàn)服務(wù)注冊與發(fā)現(xiàn)

基于pring-boot-starter-parent 2.6.8,pring-cloud-dependencies 2021.0.3,order服務(wù)和user服務(wù)

1.1 pom依賴

<!--服務(wù)注冊與發(fā)現(xiàn)-->
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
	<version>2021.0.1.0</version>
</dependency>
<!--遠(yuǎn)程服務(wù)調(diào)用負(fù)載均衡-->
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>

1.2 yaml配置

order服務(wù)application.yml

spring:
  application:
    name: orderservice
  cloud:
    #找對應(yīng)網(wǎng)段的網(wǎng)卡 不配置內(nèi)部服務(wù)就走外網(wǎng)
    inetutils:
      preferred-networks: 192.168.0
    nacos:
      discovery:
        server-addr: 192.168.0.221:8848

user服務(wù)application.yml

spring:
  application:
    name: userservice
  cloud:
    #找對應(yīng)網(wǎng)段的網(wǎng)卡 不配置內(nèi)部服務(wù)就走外網(wǎng)
    inetutils:
      preferred-networks: 192.168.0
    nacos:
      discovery:
        server-addr: 192.168.0.221:8848

1.3 添加啟動注解

@EnableDiscoveryClient,需要注冊到Nacos的服務(wù)都需要添加

@SpringBootApplication
@EnableDiscoveryClient
public class OrderApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class, args);
    }
}

1.4 啟動服務(wù)查看控制臺

控制臺地址http://192.168.0.221:8848/nacos,賬號密碼都是nacos,查看服務(wù)列表

服務(wù)詳情圖

如果未配置preferred-networks,ip則顯示外網(wǎng)ip,也會用于服務(wù)調(diào)用

2.基于Nacos實(shí)現(xiàn)遠(yuǎn)程服務(wù)調(diào)用

2.1 客戶端創(chuàng)建RestTemplate Bean

	@LoadBalanced    // 開啟負(fù)載均衡策略
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

2.2 客戶端調(diào)用代碼

    @Autowired
    RestTemplate restTemplate;
    @Autowired
    private DiscoveryClient discoveryClient;
    @GetMapping("/test")
    public String test() throws Exception {
        //可以獲取到對應(yīng)服務(wù)的列表 服務(wù)名 ip 端口均可從這里面獲取到 也可以自己決定調(diào)用順序
        List<ServiceInstance> instances = discoveryClient.getInstances("userservice");
		//get方式調(diào)用 
        String template = restTemplate.getForObject("http://userservice/getTime/1123?name=jack", String.class);
        Map<String, Object> resMap = new HashMap<>();
        resMap.put("aaaa", "bbbb");
        //post調(diào)用方式
        RequestEntity<Map<String, Object>> requestEntity = RequestEntity
                .post("http://userservice/postTime")
                .contentType(MediaType.APPLICATION_JSON)
                .body(resMap);
        ResponseEntity<Map> responseEntity = restTemplate.exchange(requestEntity, Map.class);]
        log.info("rest -- {}", template + ":" + responseEntity.getBody());
        return template + ":" + responseEntity.getBody();
    }

2.3 服務(wù)端暴露接口

@GetMapping("/getTime/{uuid}")
public String getTime(@PathVariable String uuid, @RequestParam String name) {
    return new Date().getTime() + ":" + uuid + ":" + name;
}
@PostMapping("/postTime")
public Map<String, Object> getTime(@RequestBody Map<String, Object> params) {
    params.put("time", new Date().getTime());
    return params;
}

2.4 服務(wù)調(diào)用測試

訪問客戶端調(diào)用接口,截圖如下

控制臺日志:

c.e.order.controller.OrderController     : rest -- 1657182229010:1123:jack:{aaaa=bbbb, time=1657182229068}

在使用過程中發(fā)現(xiàn)想接收List<Map<String,Object>>太麻煩了,還是使用模板的遠(yuǎn)程調(diào)用openfeign了,下文分享。

到此這篇關(guān)于SpringCloud通過Nacos實(shí)現(xiàn)注冊中心與遠(yuǎn)程服務(wù)調(diào)用詳解流程的文章就介紹到這了,更多相關(guān)SpringCloud Nacos注冊中心內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IDEA 2020.2 部署JSF項目的詳細(xì)過程

    IDEA 2020.2 部署JSF項目的詳細(xì)過程

    本文通過圖文并茂的形式教大家如何在IDEA中創(chuàng)建一個JSF項目及遇到問題的解決方法,感興趣的朋友跟隨小編一起看看吧
    2021-09-09
  • Java設(shè)計模式之命令模式

    Java設(shè)計模式之命令模式

    這篇文章介紹了Java設(shè)計模式之命令模式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • Java中的重要核心知識點(diǎn)之繼承詳解

    Java中的重要核心知識點(diǎn)之繼承詳解

    繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因?yàn)樗试S創(chuàng)建分等級層次的類。繼承就是子類繼承父類的特征和行為,使得子類對象(實(shí)例)具有父類的實(shí)例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為
    2021-10-10
  • JVM垃圾回收機(jī)制和垃圾回收器詳細(xì)解說

    JVM垃圾回收機(jī)制和垃圾回收器詳細(xì)解說

    這篇文章主要介紹了JVM垃圾回收機(jī)制和垃圾回收器,為了讓程序員更加專注于代碼的實(shí)現(xiàn),而不用過多的考慮內(nèi)存釋放的問題,所以在Java語言中,有了自動的垃圾回收機(jī)制,也是我們常常提及的GC,需要的朋友可以參考下
    2022-07-07
  • Java?JDK內(nèi)置常用接口和深淺拷貝

    Java?JDK內(nèi)置常用接口和深淺拷貝

    這篇文章主要介紹了Java?JDK內(nèi)置常用接口和深淺拷貝,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • Automapper實(shí)現(xiàn)自動映射的實(shí)例代碼

    Automapper實(shí)現(xiàn)自動映射的實(shí)例代碼

    這篇文章主要介紹了Automapper實(shí)現(xiàn)自動映射的實(shí)例代碼,需要的朋友可以參考下
    2017-09-09
  • 關(guān)于通過Java連接mysql對反斜杠”\“轉(zhuǎn)義的測試詳解

    關(guān)于通過Java連接mysql對反斜杠”\“轉(zhuǎn)義的測試詳解

    這篇文章主要給大家介紹了關(guān)于通過Java連接mysql對反斜杠”\“轉(zhuǎn)義的測試的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家理解反斜杠”\“轉(zhuǎn)義具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • javafx實(shí)現(xiàn)圖片3D翻轉(zhuǎn)效果方法實(shí)例

    javafx實(shí)現(xiàn)圖片3D翻轉(zhuǎn)效果方法實(shí)例

    程序?qū)崿F(xiàn)思路: 在javafx中Node對象有一個effect屬性,可以用于實(shí)現(xiàn)各種特效。PerspectiveTransform特效可以使Node對象實(shí)現(xiàn)透視變換。因此我們可以通過計算透視變換中每個點(diǎn)的位置來實(shí)現(xiàn)3D翻轉(zhuǎn)特效。
    2013-04-04
  • SpringBoot中的自定義Starter解讀

    SpringBoot中的自定義Starter解讀

    這篇文章主要介紹了SpringBoot中的自定義Starter解讀,啟動器模塊其實(shí)是一個空的jar文件,里面沒有什么類、接口,僅僅是提供輔助性依賴管理,這些依賴可能用于自動裝配或者其他類庫,需要的朋友可以參考下
    2023-12-12
  • SpringJPA?做分頁條件查詢的代碼實(shí)踐

    SpringJPA?做分頁條件查詢的代碼實(shí)踐

    相信小伙伴們的項目很多都用到SpringJPA框架的吧,對于單表的增刪改查利用jpa是很方便的,但是對于條件查詢并且分頁?是不是很多小伙伴不經(jīng)常寫到,今天給大家分享SpringJPA?做分頁條件查詢的案例代碼,感興趣的朋友一起看看吧
    2024-03-03

最新評論

恭城| 吉隆县| 平罗县| 涪陵区| 正安县| 邯郸县| 甘谷县| 方城县| 西乡县| 新丰县| 巩留县| 仁寿县| 璧山县| 琼海市| 德州市| 建平县| 彩票| 莲花县| 巴林左旗| 哈巴河县| 固安县| 凭祥市| 昭觉县| 五河县| 津南区| 乐安县| 西乌珠穆沁旗| 佛山市| 兴山县| 连城县| 朝阳市| 桃源县| 鞍山市| 嘉黎县| 江都市| 长春市| 昌宁县| 衡阳县| 民丰县| 华安县| 永春县|