日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微服务~Eureka实现的服务注册与发现及服务之间的调用

發布時間:2023/12/4 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微服务~Eureka实现的服务注册与发现及服务之间的调用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

微服務里一個重要的概念就是服務注冊與發現技術,當你有一個新的服務運行后,我們的服務中心可以感知你,然后把加添加到服務列表里,然后當你死掉后,會從服務中心把你移除,而你作為一個服務,對其它服務公開的只是服務名稱,而不是最終的服務地址URL,這對于云平臺,容器化架構來說是非常重要的!

  • 安裝單獨的Eureka服務(server)

  • 服務注冊-aspnetcore建立Eureka客戶端(client)

  • 服務發現-實現服務與服務的調用

  • 一 安裝單獨的Eureka服務

  • 安裝tomcat,到apache官網http://tomcat.apache.org下載tomcat

  • 下載Eureka,可以到http://mvnrepository.com/artifact/com.netflix.eureka/eureka-server選擇一下版本下載

  • 配置端口,默認是8080,tomcat\webapps\eureka\WEB-INF\classes\eureka-client.properties

  • 重啟tomcat服務即可

  • 二 aspnetcore建立Eureka客戶端(client)

  • nuget添加包包Pivotal.Discovery.Client

  • 在startup.cs里添加客戶端的自動發現代碼(相對于eureka是客戶端,事實上它是微服務里的一種服務)

  • program里添加對某個端口的監聽

  • 將EurekaServer的地址添加到appsettings里

  • 啟動項目,然后去服務中心查看自己的新服務

  • 在startup.cs里

    ? ? ? public void ConfigureServices(IServiceCollection services){services.AddDiscoveryClient(Configuration);services.AddMvc();} ? ? ? ?// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IHostingEnvironment env){ ? ? ? ? ? ?if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}app.UseMvc();app.UseDiscoveryClient();}

    ?

    program里添加對某個端口的監聽

    public static IWebHost BuildWebHost(string[] args) =>WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().UseUrls("http://*:8010").Build();

    將EurekaServer的地址添加到appsettings里,其中8010是自己監聽的端口,Order是自己的名稱


    "spring": { ?
    ?
    "application": { ?
    ? ?
    "name": "Order"}}, ?"eureka": { ?
    ?
    "client": { ?
    ? ?
    "serviceUrl": "http://localhost:8080/eureka/V2/", ? ? ?"shouldFetchRegistry": false, ?
    ? ?
    "shouldRegisterWithEureka": true}, ? ?"instance": { ? ? ?"port": 8010}


    然后啟動項目,在你的服務中心就可以看到新加的服務了(http://localhost:8080/eureka/),這就是服務的注冊!

    三 服務發現-實現服務與服務的調用

    我們在某個微服務的項目里,可以調用其它的服務,這類似于一種請求鏈的過程,以后我們講spring cloud里會說其它相關的技術


    ? ? ? [HttpGet] ? ? ?
    ? ? ?
    public IEnumerable<string> Get(){DiscoveryClient _discoveryClient = new DiscoveryClient(new EurekaClientConfig{EurekaServerServiceUrls = "http://localhost:8080/eureka/V2/",ProxyHost = "http://localhost:8080/eureka/V2/",ProxyPort = 8080,}); ? ? ? ? ? ?//得到服務中心所有服務和它的Url地址foreach (var item in _discoveryClient.Applications.GetRegisteredApplications()) ? ? ? ? ? ? ? ?yield return $"{item.Name}={item.Instances.FirstOrDefault().HomePageUrl}";}


    頁面顯示的結果中我們看到了所有的服務,它的名稱和它的URL,這種URL在容器化部署里是動態的,所以我們不能像原來那樣,把它寫死了,這也就是服務發現產生的原因!

    好了,今天對于服務注冊與服務發現就說到這里,都是比較實干的東西!

    相關文章:?

    • 手把手教你使用spring cloud+dotnet core搭建微服務架構:服務治理(-)

    • spring cloud+dotnet core搭建微服務架構:服務發現(二)

    原文地址:http://www.cnblogs.com/lori/p/7598058.html


    .NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

    總結

    以上是生活随笔為你收集整理的微服务~Eureka实现的服务注册与发现及服务之间的调用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。