一、创建服务提供者service-hi

1、创建子项目方法类似eureka,略

2、修改pom文件,主要是添加jar包

4.0.0

com.landcode

land

1.0.0-SNAPSHOT

land-service-hi

com.landcode

land-common

1.0.0-SNAPSHOT

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

land-service-hi // jar包名

org.springframework.boot

spring-boot-maven-plugin

repackage

org.apache.maven.plugins

maven-compiler-plugin

utf-8

1.8

1.8

3、resource目录下添加配置文件application.yml

server:

port: 8855

spring:

application:

name: service-hi

eureka:

instance:

prefer-ip-address: true #开启显示IP地址

instance-id: ${spring.cloud.client.ip-address}:${server.port} #eureka页面显示IP地址:端口号

client:

serviceUrl:

defaultZone: http://localhost:8761/eureka/

4、新建启动类,注意加上@EnableEurekaClient 注解,到eureka 注册服务

@SpringBootApplication

@EnableEurekaClientpublic classHiApplication {public static voidmain(String[] args) {

SpringApplication.run(HiApplication.class, args);

}

}

5、新建一个测试controller,方便服务调用方测试。测试功能中会返回服务方的端口号,方便做负载均衡测试

@RestControllerpublic classHiController {

@Value("${server.port}")privateString port;

@RequestMapping(value= "/hi")publicString hi() {return "hi " + port; //返回端口号,方便负载均衡功能测试

}

}

6、新建子项目service-consumer 作为服务调用方,方法类似eureka(略),修改pom文件,添加eureka、openfeign的jar包

4.0.0

com.landcode

land

1.0.0-SNAPSHOT

land-service-consumer

com.landcode

land-common

1.0.0-SNAPSHOT

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

org.springframework.cloud

spring-cloud-starter-openfeign

land-service-consumer

org.springframework.boot

spring-boot-maven-plugin

repackage

org.apache.maven.plugins

maven-compiler-plugin

utf-8

1.8

1.8

7、resource目录添加项目配置文件application.yml

server:

port: 8866

spring:

application:

name: service-consumer

eureka:

instance:

prefer-ip-address: true #开启显示IP地址

instance-id: ${spring.cloud.client.ip-address}:${server.port} #eureka页面显示IP地址:端口号

client:

serviceUrl:

defaultZone: http://localhost:8761/eureka/

8、添加项目启动类,@EnableFeignClients 表示使用feign调用服务接口,Ribbonclient 注解表示采用ribbon做负载均衡,configuration = RibbonConfig.class, RibbonConfig 是Ribbon 负载均衡机制配置类

@SpringBootApplication

@EnableEurekaClient

@EnableFeignClients(basePackages= { "com.landcode.service.consumer.service"})

@RibbonClient(name= "service-hi", configuration = RibbonConfig.class)public classConsumerApplication {public static voidmain(String[] args) {//TODO Auto-generated method stub

SpringApplication.run(ConsumerApplication.class, args);

}

@Bean

@LoadBalancedpublicRestTemplate restTemplate() {return newRestTemplate();

}

}

9、RibbonConfig配置类,指定使用某种负载均衡策略

@Configurationpublic classRibbonConfig {

@Resource

IClientConfig clientConfig;

@BeanpublicIRule ribbonRule(IClientConfig clientConfig) {//return new RandomRule();//随机选择策略

return newWeightedResponseTimeRule();

}

}

10、新建service,调用服务service-hi,会自动采用ribbon的负载均衡策略

@FeignClient(value = "service-hi")public interfaceITestHi {

@RequestMapping("/hi")publicString testHi();

}

11、新建测试 controller,测试服务调用和负载均衡。这里注意:如果ITestHi还有实现类bean的话,注入时注意通过name区分

@RestControllerpublic classTestHiController {

@AutowiredprivateITestHi testHi;

@RequestMapping("/consumer/hi")publicString testHi() {returntestHi.testHi();

}

}

12、启动eureka,启动几个service-hi服务(只需修改为不同端口号),启动service-consumer服务,打开浏览器输入http://192.168.0.3:8866/consumer/hi 调用服务消费测试接口,可以看见每次调用打印了服务提供方不同的端口号。

springcloud 子项目怎么导入_使用eclipse一步一步创建SpringCloud项目(二)—— 使用feign和ribbon调用微服务...相关推荐

  1. springcloud 子项目怎么导入_「 从0到1学习微服务SpringCloud 」09 补充篇-maven父子模块项目...

    系列文章(更新ing): 作为微服务的项目,如果将每个项目都拆成一个完整的项目,很难开发,那得打开多少个idea.应该将它们归到一个项目里,使用maven父子模块项目的形式,如下图 之前我们项目的拆成 ...

  2. SpringCloud系列二:Restful 基础架构(搭建项目环境、创建 Dept 微服务、客户端调用微服务)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Restful 基础架构 2.具体内容 对于 Rest 基础架构实现处理是 SpringCloud 核心所在,其基本操 ...

  3. SpringCloud 搭建项目环境、创建 Dept 微服务、客户端调用微服务

    对于 Rest 基础架构实现处理是 SpringCloud 核心所在,其基本操作形式在 SpringBoot 之中已经有了明确 的讲解,那么本次为 了清晰可见,创建一套新的微服务架构:部门微服务(De ...

  4. Eclipse+Maven创建webapp项目二 (转)

    Eclipse+Maven创建webapp项目<二> 1.开启eclipse,右键new-->other,如下图找到maven project 2.选择maven project,显 ...

  5. spring-cloud开发微服务笔记(二):高可用Eureka注册中心的搭建与RestTemplate和Fengin客户端调用微服务示例

    引言:这一篇博客是将上一篇spring-cloud-eureka-server的单机模式改为集群模式,体现eureka的高可用特性.生产环境无论是Eureka注册中心还是Client客户端大多是部署在 ...

  6. springcloud 子项目怎么导入_Spring Cloud基础面试题大集合

    整理自:ThinkWon  链接:blog.csdn.net/ThinkWon/article/details/104397367 本文知识点目录 为什么需要学习Spring Cloud 什么是Spr ...

  7. go语言mysql框架_超级详细:Go语言框架Gin和Gorm实现一个完整的待办事项微服务...

    前言 本文通过一步一步的设计,最终实现一个完善的todo应用. 我们使用GO框架Gin用户路由控制和返回数据.使用Gorm用于操作数据库. 读者可根据本教程操作,最终实现列出的各项功能. 技术清单 本 ...

  8. pigx框架费用_【开源项目】一篇文章搞掂:Pig微服务框架

    1.项目开发环境和运行步骤 1.1.项目开发环境 Idea:2018.1.6 Maven:3.5.3 JDK:1.8.0_172 MySQL:5.7.19(之前安装8.0.11会运行失败) Redis ...

  9. eclipse jee mars linux,【创建maven-web项目-eclipse-jee-mars-2-win32-x86_64-jdk1.8】

    需要注意的是:创建的mavenweb项目是没有java源文件夹的需要手动添加: 创建项目完成以后,项目会报错,如下: 因为项目中没有添加servlet依赖解决jsp报错问题:添加依赖: javax.s ...

最新文章

  1. EDAS ScheduleX 问题
  2. r 多元有序logistic回归_R语言多元Logistic逻辑回归 应用案例
  3. angular 模板
  4. 计算机一级查找同类型文件,如何快捷找出电脑内的重复文件
  5. python3.5安装pip_pip和pip3 – 都指向python3.5?
  6. #3551. [ONTAK2010]Peaks加强版(kruskal 重构树 + 主席树)
  7. 【CentOS 7笔记】cp、mv、文档查看方式
  8. Python treelib库创建多叉树的用法介绍
  9. Effective C++ 笔记(1)让自己习惯c++
  10. PHP 可变变量的使用
  11. 如何使用云效看板,让需求持续快速地流动和交付...
  12. 这份好用视频拼接的软件干货分享,值得收藏
  13. 切比雪夫多项式c语言csdn,切比雪夫多项式(Chebyshev polynomials)
  14. HanLP中文分词、人名识别、地名识别
  15. 怎么用python画世界地图_用Python画世界地图
  16. 容联云 实现验证码发送
  17. 动态规划DP的概念与总结
  18. python imp模块
  19. vue 2 组件之间传值
  20. 【百度】智能音箱尝鲜价竟然才xx元!

热门文章

  1. 如何在Github上精准地找到想要的开源项目?
  2. 十个 Linux 新手管理员易犯错误
  3. 关于 Git 提交这些规范,你都遵守了吗?
  4. 深度学习vs机器学习 | 这些本质区别你知道多少?
  5. golang库context学习
  6. locust压测工具:测试信息输出与分布式模式
  7. PS2019画笔工具、铅笔工具、颜色替换工具
  8. 使用Python,机器学习和深度学习的5个很棒的计算机视觉项目创意!
  9. 在windows上使用virt-manager
  10. 两款接口测试工具推荐