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

springCloud中的Sidecar多語(yǔ)言支持詳解

 更新時(shí)間:2024年01月31日 09:59:24   作者:卷不動(dòng)躺不平的粥  
這篇文章主要介紹了springCloud中的Sidecar多語(yǔ)言支持詳解,Sidecar是將一組緊密結(jié)合的任務(wù)與主應(yīng)用程序共同放在一臺(tái)主機(jī)Host中,但會(huì)將它們部署在各自的進(jìn)程或容器中,需要的朋友可以參考下

一、Sidecar 的介紹

1.1 引言

在 SpringCloud 的項(xiàng)目中,需要接入一些非 java 程序或第三方接口(無(wú)法接入eureka,hystrix,feign等組件的程序)。所以我們可以通過(guò)啟動(dòng)一個(gè)代理的微服務(wù)去和非 java 的程序或第三方接口進(jìn)行交流,然后再把代理的微服務(wù)計(jì)入 SpringCloud 的相關(guān)組件中。

應(yīng)用程序和服務(wù)通常需要相關(guān)的功能,例如監(jiān)控、日志、集中化配置和網(wǎng)絡(luò)服務(wù)等。這些外圍任務(wù)可以作為單獨(dú)的組件或服務(wù)來(lái)實(shí)現(xiàn)。

如果它們緊密集成到應(yīng)用程序中,它們可以在與應(yīng)用程序相同的進(jìn)程中運(yùn)行,從而有效地使用共享資源。但是,這也意味著它們沒(méi)有很好地隔離,并且其中一個(gè)組件的中斷可能會(huì)影響其他組件或整個(gè)應(yīng)用程序。此外,它們通常需要使用與父應(yīng)用程序相同的語(yǔ)言或者技術(shù)棧來(lái)實(shí)現(xiàn)。因此,組件和應(yīng)用程序彼此之間具有密切的相互依賴性。

如果將應(yīng)用程序分解為服務(wù),則可以使用不同的語(yǔ)言和技術(shù)構(gòu)建每個(gè)服務(wù)。雖然這提供了更大的靈活性,但這意味著每個(gè)組件都有自己的依賴關(guān)系,并且需要特定于語(yǔ)言的庫(kù)來(lái)訪問(wèn)底層平臺(tái)以及與父應(yīng)用程序共享的任何資源。此外,將這些功能部署為單獨(dú)的服務(wù)可能會(huì)增加應(yīng)用程序的延遲。管理這些特定于語(yǔ)言的接口的代碼和依賴關(guān)系也會(huì)增加相當(dāng)大的復(fù)雜性,尤其是對(duì)于托管、部署和管理服務(wù)。

1.2 什么是 Sidecar(邊車)模式

將一組緊密結(jié)合的任務(wù)與主應(yīng)用程序共同放在一臺(tái)主機(jī)(Host)中,但會(huì)將它們部署在各自的進(jìn)程或容器中。這種方式也被稱為“Sidecar(邊車)模式”。

邊車服務(wù)不一定是應(yīng)用程序的一部分,而是與之相關(guān)聯(lián)。它適用于父應(yīng)用程序的任何位置。Sidecar 支持與主應(yīng)用程序一起部署的進(jìn)程或服務(wù)。這就像是如下圖所示的邊三輪摩托車那樣,將邊車安裝在一輛摩托車上,就變成了邊三輪摩托車。每輛邊三輪摩托車都有自己的邊車。類似同樣的方式,邊車服務(wù)共享其父應(yīng)用程序的主機(jī)。對(duì)于應(yīng)用程序的每個(gè)實(shí)例,邊車的實(shí)例被部署并與其一起托管。

1.3 邊車模式的優(yōu)點(diǎn)

  • 在運(yùn)行時(shí)環(huán)境和編程語(yǔ)言方面,邊車獨(dú)立于其主要應(yīng)用程序,因此不需要為每種語(yǔ)言開(kāi)發(fā)一個(gè)邊車。
  • 邊車可以訪問(wèn)與主應(yīng)用程序相同的資源。例如,邊車可以監(jiān)視邊車和主應(yīng)用程序使用的系統(tǒng)資源。
  • 由于它靠近主應(yīng)用程序,因此在它們之間進(jìn)行通信時(shí)沒(méi)有明顯的延遲。
  • 即使對(duì)于不提供可擴(kuò)展性機(jī)制的應(yīng)用程序,也可以使用邊車通過(guò)將其作為自己的進(jìn)程附加到與主應(yīng)用程序相同的主機(jī)或子容器中來(lái)擴(kuò)展功能

Sidecar模式通常與容器一起使用,并稱為邊車容器。

二、Sidecar 的實(shí)現(xiàn)

2.1 創(chuàng)建一個(gè) springboot 項(xiàng)目

創(chuàng)建一個(gè)名為 06-other-service 的 springboot 項(xiàng)目,當(dāng)作一個(gè)第三方的項(xiàng)目。

編寫(xiě)其測(cè)試接口

@RestController
public class TestController {

    @GetMapping("list")
    public String list(){
        return "other-service:list";
    }

}

編寫(xiě)配置文件

server:
  port: 7001

2.2 創(chuàng)建一個(gè) Maven 項(xiàng)目

創(chuàng)建一個(gè)名為 06-sidecar 的 Maven 子項(xiàng)目,用來(lái)實(shí)現(xiàn) Sidecar。

2.3 編寫(xiě)導(dǎo)入相關(guān)依賴

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-netflix-sidecar</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-netflix-eureka-client</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

因?yàn)?Sidecar 要注冊(cè)到 Eureka 上所以要導(dǎo)入 Eureka Client 的注解。

2.4 編寫(xiě)配置類

通過(guò) @EnableSidecar 注解,來(lái)開(kāi)啟 Side 功能。

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

2.5 編寫(xiě)配置文件

server:
  port: 81

#指定Eureka服務(wù)的地址
eureka:
  client:
    service-url:
      defaultZone: http://root:root@localhost:8761/eureka, http://root:root@localhost:8762/eureka


#指定服務(wù)的名稱
spring:
  application:
    name: OTHER-SERVICE

# 指定所代理的服務(wù)的端口號(hào)
sidecar:
  port: 7001

Sidecar 只能代理本地的服務(wù),所以不需要指定 ip只需要指定所代理的服務(wù)的端口號(hào)即可。

2.6 測(cè)試

在 Customer 中通過(guò) Feign 的方式去調(diào)用此第三方服務(wù)。

2.6.1 編寫(xiě) client

@FeignClient(value = "OTHER-SERVICE")
public interface OtherServiceClient {
    @RequestMapping("list")
    public String list();
}

2.6.2 編寫(xiě) controller

//sideCar
@Autowired
private OtherServiceClient otherServiceClient;
@GetMapping("list")
public String list(){
    String list = otherServiceClient.list();
    return list;
}

到此這篇關(guān)于springCloud中的Sidecar多語(yǔ)言支持詳解的文章就介紹到這了,更多相關(guān)Sidecar多語(yǔ)言支持內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一個(gè)簡(jiǎn)單JDK版動(dòng)態(tài)代理

    一個(gè)簡(jiǎn)單JDK版動(dòng)態(tài)代理

    這篇文章主要為大家詳細(xì)介紹了一個(gè)簡(jiǎn)單JDK版動(dòng)態(tài)代理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • java實(shí)現(xiàn)秒表功能

    java實(shí)現(xiàn)秒表功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)秒表功能,利用javax.swing.Timer類設(shè)計(jì)實(shí)現(xiàn)秒表應(yīng)用程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • java讀取證書(shū)公鑰的實(shí)現(xiàn)

    java讀取證書(shū)公鑰的實(shí)現(xiàn)

    這篇文章主要介紹了java讀取證書(shū)公鑰的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • 新的Java訪問(wèn)mysql數(shù)據(jù)庫(kù)工具類的操作代碼

    新的Java訪問(wèn)mysql數(shù)據(jù)庫(kù)工具類的操作代碼

    本文通過(guò)實(shí)例代碼給大家介紹新的Java訪問(wèn)mysql數(shù)據(jù)庫(kù)工具類的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-12-12
  • java多線程并發(fā)中使用Lockers類將多線程共享資源鎖定

    java多線程并發(fā)中使用Lockers類將多線程共享資源鎖定

    Lockers在多線程編程里面一個(gè)重要的概念是鎖定,如果一個(gè)資源是多個(gè)線程共享的,為了保證數(shù)據(jù)的完整性,在進(jìn)行事務(wù)性操作時(shí)需要將共享資源鎖定,這樣可以保證在做事務(wù)性操作時(shí)只有一個(gè)線程能對(duì)資源進(jìn)行操作,下面看一個(gè)示例
    2014-01-01
  • mybatis中的if?test判斷入?yún)⒌闹祮?wèn)題

    mybatis中的if?test判斷入?yún)⒌闹祮?wèn)題

    這篇文章主要介紹了mybatis中的if?test判斷入?yún)⒌闹祮?wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • SpringBoot微信消息接口配置詳解

    SpringBoot微信消息接口配置詳解

    這篇文章主要介紹了SpringBoot 微信消息接口配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06
  • idea編譯時(shí)不提示任何錯(cuò)誤信息的問(wèn)題及解決

    idea編譯時(shí)不提示任何錯(cuò)誤信息的問(wèn)題及解決

    這篇文章主要介紹了idea編譯時(shí)不提示任何錯(cuò)誤信息的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java驗(yàn)證電話號(hào)碼的方法

    java驗(yàn)證電話號(hào)碼的方法

    這篇文章主要介紹了java驗(yàn)證電話號(hào)碼的方法,需要的朋友可以參考下
    2014-02-02
  • Java NIO Selector用法詳解【含多人聊天室實(shí)例】

    Java NIO Selector用法詳解【含多人聊天室實(shí)例】

    這篇文章主要介紹了Java NIO Selector用法,結(jié)合實(shí)例形式分析了Java NIO Selector基本功能、原理與使用方法,并結(jié)合了多人聊天室實(shí)例加以詳細(xì)說(shuō)明,需要的朋友可以參考下
    2019-11-11

最新評(píng)論

游戏| 日土县| 荃湾区| 张掖市| 漳平市| 宽甸| 沙湾县| 桐柏县| 茶陵县| 洛扎县| 疏勒县| 新龙县| 梁河县| 石狮市| 佛冈县| 大田县| 北票市| 吴桥县| 叙永县| 南昌县| 乐亭县| 玛多县| 荣成市| 景谷| 大渡口区| 介休市| 信阳市| 南宫市| 成都市| 三都| 黎川县| 长宁区| 长武县| 贵溪市| 湄潭县| 阳泉市| 桦南县| 余江县| 泌阳县| 双牌县| 冕宁县|