zoukankan      html  css  js  c++  java
  • 分布式接口的调用

    1、首先在公共模块demo-api中写好接口

    2、demo-api接口如下;

    ** “声明式调用”就是定义一个公共的接口,由提供方来实现,消费方来调用
    	消费方直接注入此接口,调方法
    		
    	用FeignClient注解绑定一个提供方的服务名,如
    	@FeignClient("SIMPLE-PROVIDER"),前提是提供方已经把服务注册到注册中心了
    	
    	注意:
    	1、接口里的参数前面一定要加注解
    		如“@RequestParam("id") String id、@RequestBody SimpleUser user”
    	2、接口要符合Restful风格的规范
    

      

    3、在provider中进行接口的实现,前提是provider模块已经作为一个服务发布了。

    ** 服务提供方
    	实现服务api接口,提供服务,尽量简洁,推荐一个类搞定
    	
    微服务分三层
    原子层,服务的最底层,是服务的最小单元,往往直接操作数据库
    聚合层,把原子层的接口组织起来进行分类
    应用层,调用聚合层,处理业务逻辑
    
    本服务属于原子层
    

      

    4、对于接口的调用,消费者可以采用两种方式

    一、采用feign声明式调用

    二、采用restTemplate直接调用(有多种方式)

    @RestController
    public class DemoConsumerController {
    	
    	@Autowired //注入声明式调用的接口(feign)
    	private DemoApi api;
    	
    	@Autowired //注入客户端负载均衡调用的bean(ribbon)
    	private RestTemplate t;
    	/**
    	 * feign声明式调用
    	 * @param name
    	 * @return
    	 */
    	@RequestMapping(value="/demo/hello")
    	public String hello(String name) {
    		return api.hello("hello world !");
    	}
    	/**
    	 * ribbon负载均衡调用
    	 * @param name
    	 * @return
    	 */
    	@RequestMapping(value="/demo/hello2")
    	public String hello2(String name) {
    		String result = t.getForEntity("http://DEMO-PROVIDER/demo/hello?name=test", String.class).getBody();
    		return result;
    	}
    	
    }
    
    
    
    服务分三层
    原子层,服务的最底层,是服务的最小单元,往往直接操作数据库
    聚合层,把原子层的接口组织起来进行分类
    应用层,调用聚合层,处理业务逻辑
    
    本服务属于聚合层 + 应用层
    
    feign方式,接口注入方式()
    ribbon,客户端负载均衡方式()
    
    
    

    5、restTemplate 对象需要在启动类之前创建后,才可以在接口中注入,或者采用java配置类的方式

     restTemplate  采用java配置类创建

    RestTemplate调用服务的另外一种方法

      

  • 相关阅读:
    JAVA,统计字符串里面每个字符出现的次数
    JAVA,遍历HashMap的2种方式,keySet方法和entrySet对象
    JAVA,Map接口常用方法
    JAVA,Collection集合常用API和集合特点
    object类常用方法
    [Algorithm] 双指针应用
    [CV]计算机视觉中值变换、拉普拉斯算子、傅里叶变换
    [CNBlogs]使用Typora和MetaWeblog改善博客园书写体验
    [C#] 动态编程表达式树实现NPOI.IROW快速映射优化
    [CV] 计算机视觉像素位变换(反转变换、对数变换,伽马变换,直方图均衡化)
  • 原文地址:https://www.cnblogs.com/Andrew520/p/10382146.html
Copyright © 2011-2022 走看看