Spring Eureka的使用与Spring feign的调用
2017-09-15 12:10
127 查看
目前流行基于多个微服务开发项目:
基于Spring、Spring Cloud、Spring Boot创建微服务,各个微服务之间使用Spring Feign调用。
我们把所有微服务注册在Spring Eureka上,SpringCloud将它集成在自己的子项目spring-cloud-netflix中,实现SpringCloud的服务发现功能。
Eureka Server会提供服务注册服务,各个服务节点启动后,会在Eureka Server中进行注册,这样Eureka Server中就有了所有服务节点的信息,并且Eureka有监控页面,可以在页面中直观的看到所有注册的服务的情况。同时Eureka有心跳机制,当某个节点服务在规定时间内没有发送心跳信号时,Eureka会从服务注册表中把这个服务节点移除。Eureka还提供了客户端缓存的机制,即使所有的Eureka
Server都挂掉,客户端仍可以利用缓存中的信息调用服务节点的服务。
启动微服务后我们访问Eureka注册中心,会看到我们注册的服务,多套环境要注意,spring.application.name要区分开来,否则会影响服务调用与测试,若在开发人员误操作将两个相同name的服务启动注册到Eureka中心,那么Eureka会保留着两个服务.
(在Spring配置properties文件中加入参数eureka.client.serviceUrl.defaultZone=http://www.eureka.com/eureka
spring.application.name=item-service-local
server.port=8085)
我们使用Spring Feign来进行微服务之间的调用,在需要调用另外一个微服务的时候,我们在业务层建一个client类,在被调用者的控制层建一个用来被调用的类,注意调用路径的匹配,此时我们就可以像调用普通方法一样调用远程方法。
调用者:
被调用者:
基于Spring、Spring Cloud、Spring Boot创建微服务,各个微服务之间使用Spring Feign调用。
我们把所有微服务注册在Spring Eureka上,SpringCloud将它集成在自己的子项目spring-cloud-netflix中,实现SpringCloud的服务发现功能。
Eureka Server会提供服务注册服务,各个服务节点启动后,会在Eureka Server中进行注册,这样Eureka Server中就有了所有服务节点的信息,并且Eureka有监控页面,可以在页面中直观的看到所有注册的服务的情况。同时Eureka有心跳机制,当某个节点服务在规定时间内没有发送心跳信号时,Eureka会从服务注册表中把这个服务节点移除。Eureka还提供了客户端缓存的机制,即使所有的Eureka
Server都挂掉,客户端仍可以利用缓存中的信息调用服务节点的服务。
启动微服务后我们访问Eureka注册中心,会看到我们注册的服务,多套环境要注意,spring.application.name要区分开来,否则会影响服务调用与测试,若在开发人员误操作将两个相同name的服务启动注册到Eureka中心,那么Eureka会保留着两个服务.
(在Spring配置properties文件中加入参数eureka.client.serviceUrl.defaultZone=http://www.eureka.com/eureka
spring.application.name=item-service-local
server.port=8085)
我们使用Spring Feign来进行微服务之间的调用,在需要调用另外一个微服务的时候,我们在业务层建一个client类,在被调用者的控制层建一个用来被调用的类,注意调用路径的匹配,此时我们就可以像调用普通方法一样调用远程方法。
调用者:
被调用者:
相关文章推荐
- 使用Spring内置拦截器为Struts的Action在每个方法调用之前打印一句话
- 在spring.net的object中使用expression,使其可以调用其他object
- Spring使用Hessian实现远程调用
- 使用 Spring RestTemplate 调用 rest 服务时自定义请求头(custom HTTP headers)
- 使用Spring的JdbcTemplate调用Oracle的存储过程
- 使用 Spring RestTemplate 调用 rest 服务时自定义请求头(custom HTTP headers)
- 使用Spring HTTP invoker进行远程调用
- Spring如何使用JdbcTemplate调用存储过程的三种情况
- spring技术内幕18-Spring使用Hessian实现远程调用
- Spring AOP进行日志记录,管理 (使用Spring的拦截器功能获取对action中每个方法的调用情况,在方法调用前
- 翻译-使用Spring调用SOAP Web Service
- spring rest mvc使用RestTemplate调用
- Spring之集成之使用Hession或Burlap通过http远程调用业务
- Spring AOP进行日志记录,管理 (使用Spring的拦截器功能获取对action中每个方法的调用情况,在方法调用前和调用后记录相关日志。)
- 《Spring技术内幕》学习笔记18——Spring使用Hessian实现远程调用
- 轮询程序中使用的各种方法:spring调用;http调用;存储过程调用;
- 使用PHPHessian调用Java Spring Hessian暴露服务­
- 《Spring技术内幕》学习笔记18——Spring使用Hessian实现远程调用
- 使用Spring AOP前置通知实现提高方法调用的安全性能
- 使用Spring的JdbcTemplate调用Oracle的存储过程