Saturday, September 9, 2017

Ribbon - Load Balancer without Eureka

Ribbon is a client side load balancer, which gives you a lot of control over the behavior of HTTP and TCP clients. Ribbon's Client component offers a good set of configuration options such as connection timeouts, retries, retry algorithm (exponential, bounded back off) etc. Ribbon comes built in with a pluggable and customizable Load Balancing component.
Some of the load balancing strategies offered are listed below:

Simple Round Robin LB
Weighted Response Time LB
Zone Aware Round Robin LB
Random LB


Using Ribbon - Code:


@SpringBootApplication
@RestController
@RibbonClient(name = "hello-service", configuration = HelloServiceConfiguration.class)
public class UserApplication {
    @LoadBalanced
    @Bean
    RestTemplate restTemplate() {
        return new RestTemplate();
    }
    @Autowired
    RestTemplate restTemplate;
    @RequestMapping("/hi")
    public String hi(@RequestParam(value = "name", defaultValue = "Rafael") String name) {
        String greeting = this.restTemplate.getForObject("http://hello-service/greeting", String.class);
        return String.format("%s, %s!", greeting, name);
    }
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class, args);
    }
}
public class HelloServiceConfiguration {
    @Autowired
    IClientConfig ribbonClientConfig;
    @Bean
    public IPing ribbonPing(IClientConfig config) {
        return new PingUrl();
    }
    @Bean
    public IRule ribbonRule(IClientConfig config) {
        return new AvailabilityFilteringRule();
    }
}


spring:
  application:
    name: user-service
server:
  port: 8888
hello-service:
  ribbon:
    eureka:
      enabled: false
    listOfServers: localhost:8090,localhost:9092,localhost:9999
    ServerListRefreshInterval: 15000



------------------------

@RibbonClient(name = "myClient", configuration = MyConfiguration.class)

@Configuration
public class MyConfiguration {
  @Bean
  public IRule ribbonRule() {
    return new RoundRobinRule();
  }
}

No comments:

Post a Comment

உப்பு மாங்காய்

சுருக்குப்பை கிழவி. சுருக்கங்கள் சூழ் கிழவி. பார்க்கும் போதெல்லாம் கூடையுடனே குடியிருப்பாள். கூடை நிறைய குட்டி குட்டி மாங்காய்கள். வெட்டிக்க...