本一系列springcloud的文章主主要讲应用, 也会涉及到一些原理的讲解.

写了几句自己这段时间看书,总结的微服务的东西送给你们 :

道为源,源分多支为术,如龙生九子,九子各不同,然皆为龙也.

凡物发必依其理,当知其源,勿学其术而不究其道,执其道而轻其术,可矣.

道为源头,从源发可以发展出很多的形态就是术,就想龙生九子,九子各不同,但是他们的源头都是龙.

需要掌握事物发展的根源, 知道背后的运行的原理,而不是却看一个一个的实现,把握住后面的原理,看或者看现今非常流行的东西都可以了.

本系列的微服务文章是基于目前最新的大版本  (2019年9月20日)  ,具体为:

oracle jdk1.8

IntelliJ IDEA 2017.3.5 x64

最新的 springboot 2.1.8 GA

最新的 springcloud Greenwich.SR3  GA

采用此目前最新版本的所有的坑,我都会填一遍!!!!

注意事项, 把idea的所有配置文件的编码都改成utf-8 , 这个电脑上忘记改了, 结果,我又把一些中文注释又写了一遍!!!

所以以后尽量写英文的注释把, 这样切换编码就不担心乱码了,记住了

至于我们公司为什么采用微服务, 一部分原因是因为有的人需要绩效, 还有就是平台的改造, 做一个公司的大的基础技术平台,以后新的项目都依赖于此平台.

以前上海一家做p2p的公司, 当时还是一个整体的应用, 我没去之前他们每次更新都做的全局更新, 有时候修复了一个线上的bug, 还得全量更新, 完全是没必要去动那些没有问题的模块啊 . 这就是单体应用的一个痛点了, 还有应用的伸缩性, 隔离性, 微服务的出现解决了很多的问题. 所以用起来的.

其实目前市面上开源的注册中心很多,像zookeeper,macos ,都可以作为注册中心.而且nacos已经出了1.0的GA版本.可以试试哦.

不扯别的了.今天就是试试eureka好了. eureka 作为一个典型的客户端的注册中心 , 客户端拉取从注册中心拉取服务的信息.

1.eureka服务注册中心

a.新建springboot项目就是eureka-server, 添加eureka-server 的依赖 ,最后的pom文件为:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.8.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>eureka-servser</artifactId><version>0.0.1-SNAPSHOT</version><name>eureka-servser</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-cloud.version>Greenwich.SR3</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

b.在启动类上添加注册中心服务端的注解,

添加注解:@EnableEurekaServer, 启用eureka server注册中心

c.修改配置文件,对了,我用的是application.properties 配置文件, 没有使用yml配置文件, 因为那个看不习惯.

以后的spring.application.name  尽量不要带- 这次的坑我自己填了, 其实也还好, 不算什么坑.看团队的变成习惯吧

#应用端口号,8761是默认的端口号, 改不改你高兴就好
server.port=8761#应用的名字
spring.application.name=eureka-server#eureka的注册地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka#eureka服务是否向自己注册,默认true.这里我们不想自己注册
eureka.client.register-with-eureka=false

d.启动springboot项目, 访问http://localhost:8761 , 就能看到eureka的界面了. 这里不截图了

2.新建一个客户端springboot项目 eureka-client,  向刚才启动的注册中心注册进去

新建完成后的pom文件是:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.8.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>eureka-client</artifactId><version>0.0.1-SNAPSHOT</version><name>eureka-client</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version><spring-cloud.version>Greenwich.SR3</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

在启动类上添加注解,标明是客户端

@EnableEurekaClient

修改配置文件,标明向哪个url进行注册.

修改配置文件:#应用名字,在eureka中注册的名字
spring.application.name=eureka-client#端口号
server.port=8861#注册的url
eureka.client.eureka-server-u-r-l-context=http://localhost:8761/eureka

然后就可以启动eureka-client 项目了, 再次去刷新http://localhost:8761 就可以看到一个应用注册来了.

如果你启动的时候可能出现自动停止.

在pom中添加一个web的依赖, 上面的总pom已经加入了

     <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-web</artifactId>  </dependency>  

恭喜 你就完成了微服务入门的第一步.

其实框架的使用都没什么难度, 难的是概念的理解, 以及原理的学习.框架多用几遍就会了, 没啥大不了.

还是不会就去查看springcloud 的官方文档, 详细的多.

所以多看看微服务的书, 比看什么框架要好很多.什么书, 看你自己了. 那种介绍框架怎么使用的书就不大看了.

整个代码地址是:

https://github.com/changhe626/micro-service

Java Framework,欢迎各位前来交流java相关
QQ群:965125360

springboot2 springcloud Greenwich.SR3 构建微服务--1.eureka注册中心搭建相关推荐

  1. 微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关

    微服务笔记:第一章_微服务简介|Eureka注册中心|Nacos注册中心|Nacos配置管理|Feign|Gateway服务网关 1. 微服务简介 1.1 服务架构演变 1.2 SpringCloud ...

  2. 【微服务】Eureka注册中心

    文章目录 前置导入 Eureka的结构和作用 搭建eureka-server 创建eureka-server服务 引入eureka依赖 编写启动类 编写配置文件 启动服务 总结 服务注册 引入依赖 配 ...

  3. 2:Alibaba微服务组件Nacos注册中心

    Spring Cloud Alibaba系列目录 提示:这里是第二章:Alibaba微服务组件Nacos注册中心 微服务和Spring Cloud Alibaba介绍 Alibaba微服务组件Naco ...

  4. 微服务调用链追踪中心搭建 1

    概述 一个完整的微服务系统包含多个微服务单元,各个微服务子系统存在互相调用的情况,形成一个 调用链.一个客户端请求从发出到被响应 经历了哪些组件.哪些微服务.请求总时长.每个组件所花时长 等信息我们有 ...

  5. 微服务架构:注册中心 ZooKeeper、Eureka、Consul 、Nacos 对比!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 前言 服务注册中心本质上是为了解耦服务提供者和服务消费者. ...

  6. 微服务架构之注册中心

    假设你发布了一个服务,并且已经在一台机器上部署了服务,那如果我想调用这个服务,我该如何知道你部署的这台机器的地址呢? 这个问题就跟我想去吃肯德基一样,我可以去谷歌地图上搜索肯德基,然后谷歌地图会返回所 ...

  7. SpringCloud——Eureka注册中心搭建

    Eureka原理 eureka来源于古希腊词汇,意为"发现了" eureka分为两部分,Server端和Client端 Register 服务注册 想要参与服务注册发现的实例首先需 ...

  8. SpringCloud 使用Zuul构建微服务网关

    什么是网关? 之前,我一直觉得对这个概念理解的不够清晰,使用了微服务后,大概总结了一下,通俗来讲可以理解如下,某个应用平台一旦需要为外界提供开放接口服务,平台为了对开发的接口做统一管理,权限认证,路由 ...

  9. Alibaba微服务组件Nacos注册中心

    目录 什么是 Nacos 官方: Nacos 的关键特性 Nacos注册中心 注册中心演变及其设计思想 核心功能 主流的注册中心 Nacos Server部署 下载源码编译 下载安装包 单机模式 集群 ...

最新文章

  1. iOS之Block总结以及内存管理
  2. Redis:内存满了的解决方案
  3. 使用CXF 2.7.5出现的java.lang.RuntimeException: Cannot create a secure XMLInputFactory错误解决...
  4. 20165313 《Java程序设计》第七周学习总结
  5. 献给网页开发者的20款Firefox插件
  6. python format函数保留两位小数_python format函数
  7. mongo更新数组字段_更新mongodb中嵌套数组中的几个字段(使用pymongo)
  8. oracle的三个网络配置文件
  9. 利用Google Earth Engine 下载遥感影像
  10. EMOS嵌入式仿真平台-编程环境v101
  11. 微信公众号php支付设置回调,php微信公众号支付讲解(JSAPI)
  12. 高级JAVA面试题详解(三)——Redis(redis cluster、虚拟槽、一致性hash算法、master选举、淘汰策略、String数据结构)
  13. YbSoftwareFactory 代码生成插件【十三】:Web API 的安全性
  14. 苹果安卓鸿蒙对比,鸿蒙OS对比iOS,华为再次“超越”,流畅度大幅领先苹果!...
  15. J9说数字科普为何DeFi永不消亡
  16. 骨传导耳机的利与弊有哪些?骨传导耳机到底好不好?
  17. 缓动动画_核心动画概念:缓入缓出
  18. 高中数学压轴题:由正余弦定理判断三角形的形状(名师总结)
  19. Django实战【三】—用户登录、注册实现
  20. 蓝魔平板i9s刷机Android,蓝魔i9s 乐蛙ROM刷机教程

热门文章

  1. Java时间戳:Instant
  2. lapack安装 matlab,如何使用MATLAB提供的BLAS库?
  3. 工业机器人实训耗材_工业机器人实训设备购置清单.doc
  4. EasyNVR、EasyNVS如何更改前端logo、关键字等相关信息
  5. CSS -- CSS字体及文本属性设置总结
  6. tick_init();
  7. java面试-MySQL篇分库分表策略
  8. linux mysql 1055_linux mysql5.7报err 1055错误 sql_mode=only_full_group
  9. Protocol Buffers安装与简单使用
  10. 军事演习绝地求生C++代码