服务治理:(该模块也可以使用集群)

  该模块主要负责完成微服务架构中的服务治理功能。

  1.构建服务注册中心。 每个服务单元需要向注册中心登记自己提供的服务。

  2.服务注册与服务发现。 服务之间的调用不再通过制定具体的实例地址进行,而是通过向服务名发起请求调用实现。所以,服务在调用的时候,并不知道具体的地址。

  3.Eureka  的基础构架。

  4.Eureka 的服务治理机制。

  5.Eureka 的配置。

  

  服务提供者(给服务注册中心提供服务),服务消费者(调用服务注册中心的服务)。

  该服务客户端将默认每隔30s向注册中心发送心跳检测,如果没有接受到心跳检测,就会将服务进行关闭。

  出现红色部分,是eureka的自我保护机制。

  @EnableDiscoveryClient   // 声明这是eureka的客户端,这个和@EnableEurekaClient的区别是,它可以使用其他注册中心

 

// 配置
#是否注册到服务中心去
eureka.client.register-with-eureka=true
#是否从服务中心获取值
eureka.client.fetch-registry=false
#用服务注册中心的地址相同(指定客户端和服务端通讯的地址)
eureka.client.service-url.defaultZone=http://localhost:8901/eureka/
#是否把自己的ip地址注册到服务中心去
eureka.instance.ip-address=true
 

一个项目调用另外一个项目的实例:

package ch.order.service;

import ch.order.entity.Goods;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate; import java.util.List; /**
* Description:
*
* @author cy
* @date 2018年11月21日 9:43
* version 1.0
*/
@Service
public class GoodsService { @Autowired
private RestTemplate restTemplate;
@Autowired
private DiscoveryClient discoveryClient;
/**
* 根据id进行查询
* @param id
* @return
*/
public Goods queryGoodsById(String id){
String serviceId = "my-goods";
List<ServiceInstance> instances = discoveryClient.getInstances(serviceId);
if(instances.isEmpty() || instances == null){
return null;
}
ServiceInstance serviceInstance = instances.get(0);
String url = "http://"+serviceInstance.getHost()+":"+serviceInstance.getPort();
Goods forEntity = restTemplate.getForObject(url+"/goods/"+id, Goods.class);
return forEntity;
}
}

  

Eureka 整理的更多相关文章

  1. Eureka 的 Application Client client的执行演示样例

            上篇以一个 demo 演示样例介绍了 Eureka 的 Application Service 客户端角色.今天我们继续了解 Eureka 的 Application Client 客 ...

  2. Ribbon 和 Eureka 积分

            Ribbon 这是 Netflix 云服务的中间层宣布开放源代码项目,它的主要功能是提供客户机端软件的负载均衡算法,将 Netflix 中间层服务一起. Eureka 是 RESTfu ...

  3. SpringCloud入门1-服务注册与发现(Eureka)

    前言 Oracle转让Java,各种动态语言的曝光率上升,Java工程师的未来在哪里?我觉得Spring Cloud让未来有无限可能.拖了半年之久的Spring Cloud学习就从今天开始了.中文教材 ...

  4. Spring Cloud Eureka 常用配置详解,建议收藏!

    前几天,栈长分享了 <Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!>,今天来分享下 Spring Cloud Eureka 常用的一些参数配置及说 ...

  5. Spring Cloud Eureka 你还在让它裸奔吗??

    前些天栈长在微信公众号Java技术栈分享了 Spring Cloud Eureka 最新版 实现注册中心的实战教程:Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版 ...

  6. Spring Cloud Eureka 注册中心集群搭建,Greenwich 最新版!

    Spring Cloud 的注册中心可以由 Eureka.Consul.Zookeeper.ETCD 等来实现,这里推荐使用 Spring Cloud Eureka 来实现注册中心,它基于 Netfl ...

  7. Spring Cloud:多环境配置、eureka 安全认证、容器宿主机IP注册

    记录一下搭建 Spring Cloud 过程中踩过的一些坑,测试的东西断断续续已经弄了好多了,一直没有时间整理搭建过程,时间啊~时间~ Spring 版本 Spring Boot:2.0.6.RELE ...

  8. 记一次eureka客户端注册失败的问题

    最近老大给了一台新服务器,做测试用,从装软件开始,到把整个环境搭起来,因为之前没有完成搭过,所以费了几天时间,最后总算是成功跑起来了.昨天早上来更新下项目,在测试服务器上重新发布了一下,结果发现服务注 ...

  9. Spring cloud Eureka错误锦集(二)

    最近学习spring cloud,在测试Eureka作为服务注册中心的时候碰到了问题,错误提示如下: "D:\Program\Java\JDK1.8\bin\java" -XX:T ...

随机推荐

  1. UVA11183 Teen Girl Squad —— 最小树形图

    题目链接:https://vjudge.net/problem/UVA-11183 You are part of a group of n teenage girls armed with cell ...

  2. lucene 索引文件大小分布_tim

    Hi, I have index ~31G where27% of the index size is .fdt files (8.5G)20% - .fdx files (6.2G)37% - .f ...

  3. CodeForces-213E:Two Permutations(神奇的线段树+hash)

    Rubik is very keen on number permutations. A permutation a with length n is a sequence, consisting o ...

  4. 一步一步学Vue(六)

    本篇继续介绍vue-router,我们需要要完成这样个demo:<分页显示文章列表>:这里我们以博客园首页列表为例简化处理: 按照上图框选所示,简单分为蓝色部分文章组件(ArticleIt ...

  5. Quartz.NET一个开源的作业调度框架

    Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和 ...

  6. 一条SQL语句是如何执行的?--Mysql45讲笔记记录 打卡day1

    写在前面的话:回想以前上班的时候,空闲时间还是挺多的,但是都荒废了.如今找工作着实费劲了.但是这段时间在极客时间买了mysql45讲,就好像发现了新大陆一样,这是我认真做笔记的第一天,说实话第一讲我已 ...

  7. centos 6.4 源码安装php5.4 mysql5.5 apahce2

    centos 6.4 源码安装php5.4 mysql5.5 apahce2 博客分类: php   参考:http://blog.csdn.net/simpleiseasy/article/deta ...

  8. 软件常用版本英文snapshot和ga

    版本号,顾名思义,系统.架包.软件的标识号.版本号的数字信息通俗易懂, 格式:主版本号+次版本+(修正版本号build-可选)+(编译版本号-可选)+英文常见号(重点). 常见号:英文各种架包名,Ma ...

  9. cxf CXF搭建webService服务器

    http://observer.blog.51cto.com/4267416/1231205 手动发布: public class ServerMain { public static void ma ...

  10. Django MTV模型思想

    一.Django的MTV分别代表: 1.Model(模型):负责业务对象与数据库的对象(ORM) 2.Template(模版):负责如何把页面展示给用户 3.View(视图):负责业务逻辑,并在适当的 ...