.net core+Spring Cloud學習之路 一



  文章開頭嘮叨兩句。

  2019年了,而自己參加工作也兩年有余了,用一個詞來概括這兩年多的生活,就是:“碌碌無為”。

  也不能說一點收獲都沒有,但是很少。2019來了,我立志要打破現狀,改變自己,突破自我。現在明白了只有不斷的學習才能不被淘汰,只有不斷的學習才能拿到更高的工資。

  言歸正傳,在今早發現張隊在元旦前的博客“年末展望:Oracle 對 JDK收費和.NET Core 給我們的機遇”,說明了以后.net core會越來越好,而我本人在2017年的時候開始接觸過.net core的時候,就沒有放棄過對.net core的學習,現在覺得微服務是個不錯的方向,而自己也在學習這塊的東西,所以寫個博客記錄一下自己的學習的筆記。

  我采用的是java的Spring cloud + .net core。

  1. 先打開idea創建一個Spring boot項目,在pom文件中添加如下maven依賴:
    <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Dalston.SR3</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-config</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka-server</artifactId>
            </dependency>
        </dependencies>

    下載eureka需要的jar包。

  2. 新建一個《application.properties》配置文件,添加如下幾行配置:
    server.port=8888  #客戶端默認情況下會將自己注冊到一個8761的端口,我們修改端口為8888
    eureka.client.register-with-eureka=false  #默認會把自己當作一個客戶端注冊到eureka服務,把他設置為false。
    eureka.client.fetch-registry=false  #默認去抓取注冊信息,自己本身是一個eureka服務器,沒必要去抓取,應該是客戶端去抓取,所以把這個配置設置為false。
  3. 添加一個啟動類。
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
    
    @SpringBootApplication
    @EnableEurekaServer
    public class ServerApp {
        public static void main(String[] args){
            new SpringApplicationBuilder(ServerApp.class).web(true).run(args);
        }
    }

    啟動這個啟動類,然后瀏覽器里輸入:http://localhost:8888(8888是我spring boot的端口),然后看到如下頁面,這個時候說明Spring boot eureka服務啟動成功。

  4. 打開vs,創建一個.net core web api項目 ,使用nuget添加Pivotal.Discovery.ClientCore庫。
  5. Startup.cs 中添加
    public void ConfigureServices(IServiceCollection services)
            {
                // services.AddDiscoveryClient(Configuration);
                services.AddDiscoveryClient(Configuration);
                services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
            }
    public void Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory loggerFactory)
            {
                loggerFactory.AddConsole(Configuration.GetSection("Logging"));
                loggerFactory.AddDebug();
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
                else
                {
                    app.UseHsts();
                }
                app.UseDiscoveryClient();
                app.UseHttpsRedirection();
                app.UseMvc();
            }

    需要using Pivotal.Discovery.Client; 

  6. 修改端口,
    1. 打開launchSettings.json
    2. 修改端口為5000
      "Demo": {
            "commandName": "Project",
            "launchBrowser": true,
            "launchUrl": "api/values",
            "applicationUrl": "http://localhost:5000",
            "environmentVariables": {
              "ASPNETCORE_ENVIRONMENT": "Development"
            }

       

      1. 打開appsettings.json 添加eureka服務配置
        {
          "Logging": {
            "LogLevel": {
              "Default": "Warning"
            }
          },
          "spring":{
            "application":{
              "name":"serviceone"
            }
          },
          "eureka":{
            "client":{
              "serviceUrl":"http://localhost:8888/eureka",
              "shouldFetchRegistry":false,
              "shouldRegisterWithEureka":true
            },
            "instance":{
              "port":5000,
            "hostName": "localhost" } } }

         

  7. 到此為止我們算是配置完成了一個簡單的注冊服務的小demo,我們先啟動eureka服務,再啟動.net core服務。這個時候在eureka服務的頁面中發現名字為serviceone的客戶端成功注冊到了eureka服務中。

參考資料

Spring Cloud

備注:最近先更新Spring Cloud知識,之后會使用完整的Spring Cloud + .net core完成一個完整的項目。

下周更新:搭建eureka群集。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM