欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

年末展望:Oracle 对 JDK收费和.NET Core 给我们的机遇

程序员文章站 2022-12-16 14:37:05
文章开头唠叨两句。 2019年了,而自己参加工作也两年有余了,用一个词来概括这两年多的生活,就是:“碌碌无为”。 也不能说一点收获都没有,但是很少。2019来了,我立志要打破现状,改变自己,突破自我。现在明白了只有不断的学习才能不被淘汰,只有不断的学习才能拿到更高的工资。 言归正传,在今早发现张队在 ......


  文章开头唠叨两句。

  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服务启动成功。年末展望:Oracle 对 JDK收费和.NET Core 给我们的机遇

  4. 打开vs,创建一个.net core web api项目 ,使用nuget添加pivotal.discovery.client库。
  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"
            }

       

  7. 打开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
        }
      }
    }

     

  8. 到此为止我们算是配置完成了一个简单的注册服务的小demo,我们先启动eureka服务,再启动.net core服务。这个时候在eureka服务的页面中发现名字为serviceone的客户端成功注册到了eureka服务中。年末展望:Oracle 对 JDK收费和.NET Core 给我们的机遇

参考资料

spring cloud

备注:最近先更新spring cloud知识,之后会使用完整的spring cloud + .net core完成一个完整的项目。

下周更新:搭建eureka群集。