.net core+Spring Cloud学习之路 一

时间:2022-09-07 19:55:29

文章开头唠叨两句。

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服务启动成功。.net core+Spring Cloud学习之路 一

  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服务中。.net core+Spring Cloud学习之路 一

参考资料

Spring Cloud

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

下周更新:搭建eureka群集。

.net core+Spring Cloud学习之路 一的更多相关文章

  1. &period;net core&plus;Spring Cloud学习之路 二

    前言: 原本计划这次写一下搭建eureka群集.但是发现上次写的只是服务的注册,忘了写服务的发现,所以这次先把服务发现补上去. 我们基于上篇文章,再新建两个.net core web api项目,分别 ...

  2. spring cloud 学习&lpar;9&rpar; - turbine stream无法在eureka注册的解决办法

    turbine是啥就不多解释了,初次接触的可以移步spring cloud 学习(4) - hystrix 服务熔断处理 拉到最后看一下,turbine stream默认情况下启动成功后,eureka ...

  3. Spring Cloud学习(一):Eureka服务注册与发现

    1.Eureka是什么 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的. Eureka ...

  4. spring cloud 学习资料

    spring cloud 学习资料 网址 拜托!面试请不要再问我Spring Cloud底层原理 https://mp.weixin.qq.com/s/ZH-3JK90mhnJPfdsYH2yDA

  5. Spring Boot和Spring Cloud学习资源推荐

    Spring Boot和Spring Cloud学习资源推荐   比较好的学习资源,分享一下. 1.Spring Boot官方文档:http://projects.spring.io/spring-b ...

  6. Spring Cloud 学习 之 Spring Cloud Eureka(源码分析)

    Spring Cloud 学习 之 Spring Cloud Eureka(源码分析) Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 ...

  7. 推荐几个Spring Cloud学习资料

    研究Spring Cloud也有一段时间了,手头上有一点收集的资料,分享给小伙伴们学习. 博客 1.跟我学Spring Cloud 2.周立|Spring Cloud 3.Spring Cloud基础 ...

  8. spring cloud学习填坑笔记

    最近在学习spring cloud,由于学习资料具有普遍性,部分应个人原因导致的小细节问题,往往很难找到解决的办法.这特别记录一下自己遇到的一些问题. 一.eureka-server加入securit ...

  9. Spring Cloud学习&lpar;一&rpar;

    Spring Cloud是什么? Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载 ...

随机推荐

  1. CSS侧边栏宽度不动&lpar;更改页面宽度时&rpar;,内容区宽度自适应

    一个页面,左栏是内容栏content,右栏是侧边栏sidebar.如何使侧边栏宽度不动(更改页面宽度时),内容区宽度自适应呢?为了保证内容区宽度自适应,先不设定其宽度,使其填充整个DIV区域,设定足够 ...

  2. CmRegisterCallback使用方法

    部分代码 #include "my_sys_fun.h"#ifdef __cplusplusextern "C"{#endif //驱动加载函数 NTSTATU ...

  3. DOM-判断元素节点类型

    http://*.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-i ...

  4. LA 3266 &lpar;贪心&rpar; Tian Ji -- The Horse Racing

    题意: 田忌和齐王各有n匹马,如果马的速度比齐王的快就赢200,慢则输200,相等不赔不赚. 已知两人每匹马的速度(为整数)和齐王所排出的马的顺序,问田忌该如何应对才能使收益最大. 分析: 本以为是一 ...

  5. ADT 连接手机运行android应用程序时报错

    The connection to adb is down, and a severe error has occured.    You must restart adb and Eclipse.  ...

  6. WebService一、数据交互

    调用webservice总结:  1.加入第三方的jar包 Ksoap2-android-XXX    2.访问响应的webservice的网站,查看响应的信息,得到nameSpace,methodN ...

  7. CentOS服务端口开放

    #例如开放81端口iptables -I INPUT -i eth0 -p tcp --dport 81 -j ACCEPTiptables -I OUTPUT -o eth0 -p tcp --sp ...

  8. Task&colon; Indoor Positioning with WiFi Signals

    Task: Indoor Positioning with WiFi SignalsYou are hired by a company to design an indoor localizatio ...

  9. 给大家介绍一个实用的RN神器DeviceEventEmitter

    再不出来更新一下自己都感觉不到自己还存在了,这个监听最常用的地方莫过于单选和全选了,,当然远不止这个了,大家可以自己去多尝试几波,举个栗子 A组件全选所在 //全选 choose(bool){ //选 ...

  10. iis7错误提示An error occurred on the server when processing the URL&period;&period;&period;

    win7下面运行ASP程序总是出错,原来是站点配置的问题... 问题一:MS Jet引擎改变了临时目录的位置,但是又没有对临时目录的存取权限,导致数据库使用失败(因为sql问题,后改用access数据 ...