文章开头唠叨两句。
2019年了,而自己参加工作也两年有余了,用一个词来概括这两年多的生活,就是:“碌碌无为”。
也不能说一点收获都没有,但是很少。2019来了,我立志要打破现状,改变自己,突破自我。现在明白了只有不断的学习才能不被淘汰,只有不断的学习才能拿到更高的工资。
言归正传,在今早发现张队在元旦前的博客“年末展望:Oracle 对 JDK收费和.NET Core 给我们的机遇”,说明了以后.net core会越来越好,而我本人在2017年的时候开始接触过.net core的时候,就没有放弃过对.net core的学习,现在觉得微服务是个不错的方向,而自己也在学习这块的东西,所以写个博客记录一下自己的学习的笔记。
我采用的是java的Spring cloud + .net core。
- 先打开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包。
- 新建一个《application.properties》配置文件,添加如下几行配置:
server.port=8888 #客户端默认情况下会将自己注册到一个8761的端口,我们修改端口为8888
eureka.client.register-with-eureka=false #默认会把自己当作一个客户端注册到eureka服务,把他设置为false。
eureka.client.fetch-registry=false #默认去抓取注册信息,自己本身是一个eureka服务器,没必要去抓取,应该是客户端去抓取,所以把这个配置设置为false。 - 添加一个启动类。
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服务启动成功。
- 打开vs,创建一个.net core web api项目 ,使用nuget添加Pivotal.Discovery.ClientCore库。
- 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;
- 修改端口,
- 打开launchSettings.json
- 修改端口为5000
"Demo": {
"commandName": "Project",
"launchBrowser": true,
"launchUrl": "api/values",
"applicationUrl": "http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}- 打开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"
}
}
}
- 打开appsettings.json 添加eureka服务配置
- 到此为止我们算是配置完成了一个简单的注册服务的小demo,我们先启动eureka服务,再启动.net core服务。这个时候在eureka服务的页面中发现名字为serviceone的客户端成功注册到了eureka服务中。
参考资料:
备注:最近先更新Spring Cloud知识,之后会使用完整的Spring Cloud + .net core完成一个完整的项目。
下周更新:搭建eureka群集。
.net core+Spring Cloud学习之路 一的更多相关文章
-
.net core+Spring Cloud学习之路 二
前言: 原本计划这次写一下搭建eureka群集.但是发现上次写的只是服务的注册,忘了写服务的发现,所以这次先把服务发现补上去. 我们基于上篇文章,再新建两个.net core web api项目,分别 ...
-
spring cloud 学习(9) - turbine stream无法在eureka注册的解决办法
turbine是啥就不多解释了,初次接触的可以移步spring cloud 学习(4) - hystrix 服务熔断处理 拉到最后看一下,turbine stream默认情况下启动成功后,eureka ...
-
Spring Cloud学习(一):Eureka服务注册与发现
1.Eureka是什么 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的. Eureka ...
-
spring cloud 学习资料
spring cloud 学习资料 网址 拜托!面试请不要再问我Spring Cloud底层原理 https://mp.weixin.qq.com/s/ZH-3JK90mhnJPfdsYH2yDA
-
Spring Boot和Spring Cloud学习资源推荐
Spring Boot和Spring Cloud学习资源推荐 比较好的学习资源,分享一下. 1.Spring Boot官方文档:http://projects.spring.io/spring-b ...
-
Spring Cloud 学习 之 Spring Cloud Eureka(源码分析)
Spring Cloud 学习 之 Spring Cloud Eureka(源码分析) Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 ...
-
推荐几个Spring Cloud学习资料
研究Spring Cloud也有一段时间了,手头上有一点收集的资料,分享给小伙伴们学习. 博客 1.跟我学Spring Cloud 2.周立|Spring Cloud 3.Spring Cloud基础 ...
-
spring cloud学习填坑笔记
最近在学习spring cloud,由于学习资料具有普遍性,部分应个人原因导致的小细节问题,往往很难找到解决的办法.这特别记录一下自己遇到的一些问题. 一.eureka-server加入securit ...
-
Spring Cloud学习(一)
Spring Cloud是什么? Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载 ...
随机推荐
-
CSS侧边栏宽度不动(更改页面宽度时),内容区宽度自适应
一个页面,左栏是内容栏content,右栏是侧边栏sidebar.如何使侧边栏宽度不动(更改页面宽度时),内容区宽度自适应呢?为了保证内容区宽度自适应,先不设定其宽度,使其填充整个DIV区域,设定足够 ...
-
CmRegisterCallback使用方法
部分代码 #include "my_sys_fun.h"#ifdef __cplusplusextern "C"{#endif //驱动加载函数 NTSTATU ...
-
DOM-判断元素节点类型
http://*.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-i ...
-
LA 3266 (贪心) Tian Ji -- The Horse Racing
题意: 田忌和齐王各有n匹马,如果马的速度比齐王的快就赢200,慢则输200,相等不赔不赚. 已知两人每匹马的速度(为整数)和齐王所排出的马的顺序,问田忌该如何应对才能使收益最大. 分析: 本以为是一 ...
-
ADT 连接手机运行android应用程序时报错
The connection to adb is down, and a severe error has occured. You must restart adb and Eclipse. ...
-
WebService一、数据交互
调用webservice总结: 1.加入第三方的jar包 Ksoap2-android-XXX 2.访问响应的webservice的网站,查看响应的信息,得到nameSpace,methodN ...
-
CentOS服务端口开放
#例如开放81端口iptables -I INPUT -i eth0 -p tcp --dport 81 -j ACCEPTiptables -I OUTPUT -o eth0 -p tcp --sp ...
-
Task: Indoor Positioning with WiFi Signals
Task: Indoor Positioning with WiFi SignalsYou are hired by a company to design an indoor localizatio ...
-
给大家介绍一个实用的RN神器DeviceEventEmitter
再不出来更新一下自己都感觉不到自己还存在了,这个监听最常用的地方莫过于单选和全选了,,当然远不止这个了,大家可以自己去多尝试几波,举个栗子 A组件全选所在 //全选 choose(bool){ //选 ...
-
iis7错误提示An error occurred on the server when processing the URL...
win7下面运行ASP程序总是出错,原来是站点配置的问题... 问题一:MS Jet引擎改变了临时目录的位置,但是又没有对临时目录的存取权限,导致数据库使用失败(因为sql问题,后改用access数据 ...