微服务利用Consul实现服务注册发现

随着业务需求的增多,需要对现有服务进行拆分。

方案实现所用技术:spring cloud+consul+fegin+actuator

使用版本:spring boot:1.5.11.RELEASE

           spring-cloud-dependencies:Edgware.SR3

            consul:1.2.0

建立一个服务消费者,2个服务提供者


wx-open-service:服务消费者,调用服务提供者id-produce生成订单号

id-produce-service:服务提供者,生成订单号

id-produce-service_2:服务提供者,生成订单号

服务提供者id-produce实现:

1.pom.xml中添加依赖

application.properties

IDProduceInterface应用程序启动入口:

@EnableDiscoveryClient // 使用服务注册发现时请启用

@EnableFeignClients // 使用Feign微服务调用时请启用

启动服务后,登陆consul查看:

注册服务列表:

id-produce订单号生成服务注册了两个服务节点:

服务消费者wx-open-service实现:

application.properites

应用程序启动入口 

@SpringBootApplication

@EnableDiscoveryClient // 使用服务注册发现时请启用,如果只是服务调用不启用

@EnableFeignClients // 使用Feign微服务调用时请启用

消费订单服务过程

建立proxy/IDProduceService类

package com.fusion.wxopen.proxy;

/**

* Created by lijing on 2018/8/2.

*/

import org.springframework.cloud.netflix.feign.FeignClient;

import org.springframework.web.bind.annotation.RequestMapping;

import java.util.HashMap;

/**

* 订单ID服务接口

*

* @author lijing

*/

@FeignClient("id-produce")

public interface IDProduceService {

@RequestMapping("/pay/id/produce")

public StringproduceID(HashMap req_param);

}

WxOpenControll实现接口

/**

* Created by admin-win8 on 2018/8/2.

*/

@RestController

public class WxOpenControll {

private static final LoggerLOGGER = LoggerFactory.getLogger(WxOpenControll.class);

    @Autowired

    private IDProduceServiceidProduceService;

    @RequestMapping(value ="/pay/getOrderInfo", method={RequestMethod.POST})

@ResponseBody

    public StringgetOrderReq(HttpServletRequest request, HttpServletResponse response)throws Exception {

HashMap req_param=new HashMap();

        String shop_id=request.getParameter("shop_id");

        String pay_type=request.getParameter("shop_id");

        req_param.put("shop_id",shop_id);

        req_param.put("pay_type",pay_type);

        String orderid=idProduceService.produceID(req_param);

        LOGGER.info("orderid"+orderid);

        return orderid;

    }

实现了id-produce服务的消费,两个节点可以轮询调用。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • Address:https://www.zybuluo.com/XiangZhou/note/208532 Exp...
    天蠍蒗漫阅读 13,918评论 2 55
  • 9af0e05c6c75阅读 2,972评论 0 0
  • 上人与下人 在深圳的那些年,总会遇见一些充满了时代跨越感的事情,有时候让人惊愕不已,有时候也让人陷入沉思。 在深圳...
    哥里牧农阅读 3,989评论 0 0
  • 荀子:君子乐得其道,小人乐得其欲。以道制欲,则乐而不乱;以欲忘道,则惑而不乐。 近期意志不坚定,常常会有悔过之事发...
    行之1984阅读 1,432评论 0 0

友情链接更多精彩内容