springcloud Ribbon学习笔记一
上篇已经介绍了如何开发eureka服务并让多个服务进行相互注册,接下来记录如何开发一个服务然后注册到eureka中并能通过ribbon成功被调用
开发一个用户服务并注册到eureka中,用户服务负责访问数据库获取用户信息,直接上关键代码:
pom.xml(主要导入springcloud和eureka的依赖):
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency> <!-- 导入Eureka服务的依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency> <dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- SpringBoot的Mybatis启动器 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies> <!-- 导入Spring Cloud的依赖管理 -->
<dependencyManagement> <dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Edgware.SR4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies> </dependencyManagement>
application.properties(主要配置eureka,将自身注册到上篇文章中开发好的7071和7070端口的eureka服务中)
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mydb01
spring.datasource.username=root
spring.datasource.password=100200 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource mybatis.mapper-locations=classpath:/mappings/*.xml
mybatis.type-aliases-package=com.darling.login.domain
server.port=${port}
#应用名称
spring.application.name=userServer # 是否需要将自己注册到注册中心中,默认值true
eureka.client.registerWithEureka=true # 是否从注册中心中获取注册信息,默认值true
eureka.client.fetchRegistry=false # 客户端和服务端进行交互的地址
eureka.client.serviceUrl.defaultZone=http://127.0.0.1:7070/eureka/,http://127.0.0.1:7071/eureka/ #将自己的ip地址注册到Eureka服务中
eureka.instance.prefer-ip-address=true
用户服务的启动类:
@EnableDiscoveryClient // 表明自己是eureka服务的客户端
@SpringBootApplication
@MapperScan("com.darling.user.mapper")
public class UserServerApplication { public static void main(String[] args) {
SpringApplication.run(UserServerApplication.class, args);
}
}
这里没有贴上获取用户信息接口的相关代码,为了测试后面的负载均衡我也开了两个用户服务的微服务,端口号分别为6061和6062.至此用户微服务就已开发好并已经成功注册到eureka中了,见下图:


接下来测试用户信息接口:

下篇将记录如何整合ribbon来调用用户服务
springcloud Ribbon学习笔记一的更多相关文章
- springcloud Ribbon学习笔记二
之前介绍了如何搭建eureka服务并开发了一个用户服务成功注册到了eureka中,接下来介绍如何通过ribbon来从eureka中获取用户服务: springcloud ribbon提供客户端的负载均 ...
- springcloud Eureka学习笔记
最近在学习springcloud,抽空记录下学习笔记;主要记录Eureka的实现过程和高可用性的实现 Eureka是一个服务治理框架,它提供了Eureka Server和Eureka Client两个 ...
- SpringCloud(三)学习笔记之Ribbon
spring Cloud Ribbon 是一个客户端的负载均衡器,它提供对大量的HTTP和TCP客户端的访问控制. 客户端负载均衡即是当浏览器向后台发出请求的时候,客户端会向 Eureka Serve ...
- SpringCloud Alibaba学习笔记
目录 目录 目录 导学 为什么学 学习目标 进阶目标 思路 Spring Cloud Alibaba的重要组件 环境搭建 Spring Boot必知必会 Spring Boot特性 编写第一个Spri ...
- springcloud Zuul学习笔记
SpringCloud Zull是一个基于NetflixZuul实现的API网关组件,它实现了请求路由,负载均衡,校验过滤等功能;本文主要记录springcloud zuul的入门级demo开发过程; ...
- Ribbon学习笔记
微服务的概念: Ribbon默认的是轮询的算法: @LoadBalanced @EnableEurekaClient Irule是根据 Ribbon默认(轮询)的7中负载均衡的算法: 修改默认的R ...
- SpringCloud(六)学习笔记之Zuul
Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架.Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门 Hystrix+Ribbon(不使用Feign) ...
- SpringCloud(五)学习笔记之Hystrix
在微服务架构中多层服务之间会相互调用,如果其中有一层服务故障了,可能会导致一层服务或者多层服务故障,从而导致整个系统故障.这种现象被称为服务雪崩效应. Hystrix组件就可以解决此类问题,Hystr ...
- SpringCloud(四)学习笔记之Feign
Feign是一个声明式的Web服务客户端,可帮助我们更加便捷.优雅地调用HTTP API Feign可以与Eureka和Ribbon组合使用以支持负载均衡 一.构建Eureka Server [基于第 ...
随机推荐
- nodejs高并发大流量的设计实现,控制并发的三种方法
nodejs高并发大流量的设计实现,控制并发的三种方法eventproxy.async.mapLimit.async.queue控制并发Node.js是建立在Google V8 JavaScript引 ...
- 一次Webservice请求的流程
- Python Kivy writes / read the file on the SD card
Path to SD card from jnius import autoclass # SDcard Android # Get path to SD card Android try: Envi ...
- Docker Kubernetes 创建管理 Pod
Docker Kubernetes 容器扩容与缩容 环境: 系统:Centos 7.4 x64 Docker版本:18.09.0 Kubernetes版本:v1.8 管理节点:192.168.1.79 ...
- Python selectors实现socket并发
selectors模块 此模块允许基于选择模块原语构建高级别和高效的I / O多路复用. 鼓励用户使用此模块,除非他们想要精确控制使用的os级别的原语. 注:selectors也是包装了select高 ...
- 自制操作系统Antz(1)——Boot Sector
0.引子 最近在看操作系统底层方面的东西,最开始的为什么是07c00h这个问题就让我对操作系统有了很大的兴趣.所以准备在看书之余顺便写一个操作系统(Anz).至于为什么这个系统会被叫做Antz,可以参 ...
- Windows SubSystem for Linux
Summary of Windows SubSystem for Linux Install Ubuntu Run PowerShell as administrator and input: Ena ...
- hadoop MR的一些文件归属(包括临时文件存储情况)
https://blog.csdn.net/bxyz1203/article/details/8057810
- 单元测试系列之七:Sonar 数据库表关系整理一(rule相关)
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/7510072.html 简介:Sonar ...
- JS(JavaScript)的初了解3(更新中···)
1. {} 在JS中我们把它叫代码块.如果代码块里的内容没有执行完,语句不会向下执行. 代码块是一个独立的整体.如果JS中某一条语句出错,那么就会在此终止不会向下执行. 2. 循环语句 循环,就是对一 ...