文档章节

SpringCloud 微服务 (二) Eureka (Server)

_大侠__
 _大侠__
发布于 06/14 18:29
字数 1143
阅读 53
收藏 7

微服务是一种架构风格,设计思想

特点    ① 由一系列微小的服务组成

           ② 运行独立,互不干扰

           ③ 独立部署

           ④ 每个微小的服务都有自己的业务实现

           ⑤ 各自独立分散服务管理-->分布式管理

 

单体架构: 测试的时候在一起,容易测试,部署的时候就一个war包,这种架构开发效率受到影响,当应用越来越大的时候,维护起来比较麻烦,改动应用小bug需要重新整体部署,部署一次也可能需要很长的时间,模块性能扩展有限

 

服务注册发现: 注册方提供信息, 服务方通过注册方的信息, 发现注册服务;

服务网关: 除了服务的信息交互,还需要与外界进行交互,所以需要暴露自己的服务,但也不能什么都暴露,就涉及到服务网关,网关可以过滤后端信息,前端配合需要路由控制引导微服务选择,因为所有的请求都会经过网关,所以还可以限流,容错,监控,日志,安全,防爬虫等等操作

后端服务,前端服务: 互相配合,完成服务的最简化业务实现. 比如后端服务提供A,B接口,前端服务可以根据业务场景拆分,聚合后端服务,将A,B合并返回或者拆分A中的一部分返回.

 

方案A: Spring全家桶 ...(本次,就决定是他了)

方案B: Dubbo服务,Zookeeper注册中心 ...

 

SpringCloud提供了微服务开发所需的配置,是一个开发工具集,有很多个子项目,开源框架

利用SpringBoot开发,方便, 基于Netflix开源组件封装,强大的微服务组件

总而言之SpringCloud简化了分布式开发,重要在理解分布式、架构特点以及组件

 

SpringCloud Eureka基于Netflix Eureka的封装,

主要两个组件: 注册中心(Eureka Server)、服务注册(Eureka Client)

 

Eureka Server 注册中心

注册中心记录服务信息,状态, 比如服务名字,运行的情况

 

创建E:/MyCloud文件夹,后续实践的应用都放在此处

利用IDEA的Spring Initializr构建一个SpringBoot项目,第一步

第二步,选择Cloud Discovery-Eureka Server,并且SpringBoot版本2.0.2

第三步,选择我的创建路径目录E:/MyCloud

第四步,创建好了,把不需要的文件删除掉,没用

右下角会提示说Add as Maven Project or Disable notification,

选择Add as Maven Project,加载一会就好了, 最后的目录展示 

如果觉得com.server.eureka不爽,不想叠在一起,可以按下图设置一下,

把Hide Empty Middle Packages的勾去掉

再启动类上加一个注解@EnableEurekaServer,标识他是EurekaServer注册中心

启动项目的时候会报一些错,先不管,访问一下localhost:8080,成功 如下

Instances currently registered with Eureka是注册服务列表

目前只有Server,还没有建立Client,所以是空的

 

回来看控制器报错的原因,关于@EnableEurekaServer注解

Cannot execute request on any known server

因为他虽然被标识为Server,但他自己同时也是Client,会心跳检测Server,没有找到报错

在application.yml文件中配置,顺便加个name,运行

spring:
  application:
    name: my first eureka

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

每次不知道怎么配置的时候,可以Ctrl+左键,进入查看方法信息,或多或少可以知道点套路

这时候,服务中心 发现了自己,name为刚刚设置的my first eureka,默认Zone也替换掉了

 

经过上面的测试,回到服务中心,我们就想他做一件事就够了,不用又做服务中心,又做注册服务的,

所以在刚刚的yml文件中加一个配置register-with-eureka: false ,对于此eureka取消注册

spring:
  application:
    name: my first eureka

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
    register-with-eureka: false

重启访问,就会发现没有注册服务了,OK完成

 

 

提示端口8080很常用,建议改一个,eureka的默认是8761

应用启动时,控制台有很多提示信息

--------------------------------------------------------

© 著作权归作者所有

共有 人打赏支持
_大侠__

_大侠__

粉丝 33
博文 55
码字总数 56777
作品 0
杭州
程序员
私信 提问
SpringCloud--鸿鹄Cloud分布式微服务云系统

简介 鸿鹄云Cloud是基于SpringCloud来封装的,是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器...

itcloud
07/25
0
0
Spring Cloud-honghu Cloud分布式微服务云系统

简介 鸿鹄云Cloud是基于SpringCloud来封装的,是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器...

itcloud
04/25
0
0
Spring Cloud-Honghu Cloud分布式微服务云系统(一)

简介 鸿鹄云Cloud是基于SpringCloud来封装的,是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器...

明理萝
09/07
0
0
史上最简单的 SpringCloud 教程 | 终章

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:http://blog.csdn.net/forezp。 https://blog.csdn.net/forezp/article/details/70148833 转载请标明出处...

方志朋
2017/04/12
0
0
记录SpringCloud使用的一些问题

一、服务下线延迟问题 这个虽然是为了更好的高可用,但是下线服务依然存留很长一段时间(默认下最长有2分钟),不利于集群环境部署。 解决办法: 去除保护机制,修改默认的配置,使服务尽快被...

濡沫
08/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

浅析微信支付:开通免充值产品功能及如何进行接口升级指引

本文是【浅析微信支付】系列文章的第十五篇,主要讲解如何开通免充值产品功能流程和其中的注意事项,对于接口升级会重要讲解,避免爬坑。 浅析微信支付系列已经更新十五篇了哟~,没有看过的...

YClimb
43分钟前
1
0
看看ArrayDeque源码

之前看了其他实现Deque接口的类,这里再看看ArrayDeque吧,下图可以看到这个类设计的结构层次,其实Deque接口是继承了Queue接口的。用可调整大小的数组实现Deque接口。没有容量限制,他们根据...

woshixin
43分钟前
2
0
如何存储登录cookie,发送一个post类型的api请求?

其实发送post请求和get请求一样,主要就是不知道如何存储登录cookie进行发送请求,请教xx得到如下解决办法 点击右下方的cookies,填写cookies信息,如图 1填写登录的cookie名,2填写cookie的...

七曦777
44分钟前
1
0
利用cefSharp实现网页自动注册登录的需要注册的一些事项

最近朋友有个需要自动注册登录点击的事,我帮着写了写,好久没写过这东西了,在写的过程中总结了需要注意的一些事项。 一、换IP之后要测试一下速度,我目前用的最简单的测试方法就是20-30秒加...

我退而结网
52分钟前
2
0
Go语言中使用 BoltDB数据库

boltdb 是使用Go语言编写的开源的键值对数据库,Github的地址如下: https://github.com/boltdb/bolt boltdb 存储数据时 key 和 value 都要求是字节数据,此处需要使用到 序列化和反序列化。...

Oo若离oO
52分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部