文档章节

SpringCloud 微服务 (二) Eureka (Server)

_大侠__
 _大侠__
发布于 06/14 18:29
字数 1143
阅读 39
收藏 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

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

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

© 著作权归作者所有

共有 人打赏支持
_大侠__

_大侠__

粉丝 31
博文 47
码字总数 53069
作品 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使用的一些问题

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

濡沫
08/13
0
0
白话SpringCloud | 第二章:服务注册与发现(Eureka)-上

前言 从本章节开始,正式进入的基础教程。从第一章《什么是SpringCloud》中我们可以知道,一个微服务框架覆盖的东西是很多的,而如何去管理这些服务或者说接口,就显得异常重要了。所以本章节...

oKong
09/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
0
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
5
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
33
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部