• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

springcloud(四):第一个Ribbon程序

互联网 diligentman 1个月前 (10-30) 13次浏览

1. Ribbon

负载均衡框架,支持可插拔式的负载均衡规则

支持多种协议,如HTTP、UDP等

提供负载均衡客户端

1.1 负载均衡器组件

一个负载均衡器,至少提供以下功能:

  • 要维护各个服务器的IP等信息
  • 根据特定逻辑选取服务器

为了实现基本的负载均衡功能,Ribbon的负载均衡器有三大子模块:

  • Rule
  • Ping
  • ServerList

springcloud(四):第一个Ribbon程序

1.2 实现程序

创建项目:ribbon-service

pom.

<project  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 <modelVersion>4.0.0</modelVersion> <groupId>org.crazyit.cloud</groupId> <artifactId>ribbon-service</artifactId> <version>0.0.1-SNAPSHOT</version>  <dependencies>  <dependency>   <groupId>org.springframework.boot</groupId>   <artifactId>spring-boot-starter-web</artifactId>   <version>1.5.7.RELEASE</version>  </dependency> </dependencies> </project>

Person:

package org.crazyit.cloud;public class Person { private Integer id; private String name; private String message; public Integer getId() {  return id; } public void setId(Integer id) {  this.id = id; } public String getName() {  return name; } public void setName(String name) {  this.name = name; } public String getMessage() {  return message; } public void setMessage(String message) {  this.message = message; } }

MyController:

package org.crazyit.cloud;import javax.servlet.http.HttpServletRequest;import org.springframework.http.MediaType;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class MyController { @RequestMapping(value = "/person", method = RequestMethod.GET,    produces = MediaType.APPLICATION_JSON_VALUE) public Person getPerson(HttpServletRequest request) {  Person p = new Person();  p.setId(1);  p.setName("angus");  p.setMessage(request.getRequestURL().toString());  return p; }}

ServiceApp:

package org.crazyit.cloud;import java.util.Scanner;import org.springframework.boot.autoconfigure.SpringBootApplica.........

喜欢 (0)