C++负载均衡远程调用学习之基础TCP服务

目录

1.LARS课程模块介绍

2.LARS的功能演示机场景作用

3.LARS的reactor框架的组成部分

4.Lars_reactor的项目目录构建

5.Lars_tcp_server的基础服务开发

6.Lars_tcp_server的accept实现

7.LarsV0.1总结


1.LARS课程模块介绍

2.LARS的功能演示机场景作用

Lars系统开发

> (Load balance And Remote service schedule System)

**ChangLog**

| 作者 | 更新内容 | 更新时间 |

| ------ | ------------------------ | ---------- |

| 刘丹冰 | Add-项目概述 | 2019/9/03 |

| 刘丹冰 | Add-第二章-项目构建 | 2019/9/18 |

| 刘丹冰 | Add-第三章-1-6节 Reactor | 2019/9/22 |

| 刘丹冰 | Add-第三章-7-16节 | 2019/10/15 |

| 刘丹冰 | Add-第四章-第五章 | 2019/10/30 |

| 刘丹冰 | Add-第六章-负载均衡模块 | 2019/11/29 |

| 刘丹冰 | Add-第七章-工具部分 | 2019/12/1 |

| 刘丹冰 | Add-第八章-优化建议 | 2019/12/5 |

| | | |

TOC

3.LARS的reactor框架的组成部分

系统开发环境:

`Linux` : Ubuntu18.04

`protobuf` : libprotoc 3.6.1版本及以上

`mysql`: mysql Ver 14.14 Distrib 5.7.27 版本及以上

`g++`: (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 版本及以上

4.Lars_reactor的项目目录构建

一、概述:

Lars是一个简单、易用、高性能的服务间远程调用管理、调度、负载均衡系统。

1) 优势

  1. **性能强悍**

集群支持千万并发链接,满足用户的海量业务访问需求。

  1. **高可用**

采用集群化部署,支持多可用区的容灾,无缝实时切换。

  1. **灵活扩展**

自动分发,与弹性伸缩无缝集成,灵活扩展用户用于的对外服务能力。

  1. **简单易用**

快速部署、实时生效,支持多种协议,多种调度算法,用户可以高效的管理和调整服务分发策略等。

5.Lars_tcp_server的基础服务开发

(1)、大型门户网站

​ 针对大型门户网站访问量高的特点,通过弹性负载均衡将用户的访问流量均匀的分发到多个后端云服务器上,确保业务快速平稳的运行

优势

  • 灵活扩展

可根据实际的用户访问量,自动扩展负载分发能力

  • 高性能

集群支持高并发连接,满足海量访问量诉求

![Lars-场景1](./pictures/Lars-%E5%9C%BA%E6%99%AF1.png)

6.Lars_tcp_server的accept实现

(2)、跨可用区同城容灾

​ 弹性负载均衡可将流量跨可用区进行分发,建立实时的同城容灾机制,满足银行贸易等企业对系统的高可用性要求。

优势

  • 灵活扩展

可根据实际的用户访问量,自动扩展负载分发能力

  • 同城容灾

支持跨可用区的双活容灾,实现无缝实时切换

![Lars-场景2](./pictures/Lars-%E5%9C%BA%E6%99%AF2.png)

7.LarsV0.1总结

(3)、电商抢购

​ 电商业务呈现出较强的潮汐效应。Lars通过和弹性伸缩等服务的无缝集成,自动创建后端云服务器,将流量自动分发到新的云服务器,缓解了促销高峰时期的系统压力。

优势

  • 弹性伸缩

根据业务流量实时创建或移除云服务器

  • 高可用

通过健康检查快速屏蔽异常云服务器,确保业务高可用

  • 高性能

集群支持高并发连接,满足海量访问量诉求

![Lars-场景3](./pictures/Lars-%E5%9C%BA%E6%99%AF3.png)

相关推荐
一刀到底21123 分钟前
从实列中学习linux shell5: 利用shell 脚本 检测硬盘空间容量,当使用量达到80%的时候 发送邮件
linux·运维·学习
每天都要写算法(努力版)1 小时前
【神经网络与深度学习】探索全连接网络如何学习数据的复杂模式,提取高层次特征
深度学习·神经网络·学习
Kay_Liang2 小时前
探究排序算法的奥秘(下):快速排序、归并排序、堆排序
java·数据结构·c++·python·算法·排序算法
彷徨而立3 小时前
【C/C++】字符串拷贝方法
c++
泪光29294 小时前
枚举法——C++算法【泪光2929】
c++
Berserker_D5 小时前
【C/C++】头文件防卫式宏
c语言·开发语言·c++
绒绒毛毛雨5 小时前
将infinigen功能集成到UE5--在ue里面写插件(python和c++)
c++·python·ue5
海码0076 小时前
【Hot 100】 148. 排序链表
数据结构·c++·链表·排序算法·hot100
余弦的倒数6 小时前
C++的vector中emplace_back() 与 push_back() 的区别
开发语言·c++