- 博客(42)
- 收藏
- 关注
原创 CPP集群聊天服务器开发实践(六):Redis发布订阅消息队列及服务器集群通信
前文实现了单服务器与多客户端之间的通信以及聊天业务,同时为了增大并发量利用nginx实现多服务器的集群负载均衡,但是一个关键的问题是要实现多服务器之间的通信,这里采用Redis的发布订阅消息队列实现。
2025-02-17 22:45:39
474
原创 Redis原理简述及发布订阅消息队列
Redis全称是Remote Dictionary Server(远程字典服务器),是一个开源的高性能键值对(key-value)存储系统。内部实现采用epoll+Reactor 设计模式。 epoll中的读、写、关闭、连接都转化成了事件,利用epoll的多路复用特性结合事件驱动提高网络性能。
2025-02-17 22:01:00
772
原创 CPP集群聊天服务器开发实践(五):nginx负载均衡配置
进行nginx源码编译,包括tcp负载均衡模块、nginx.conf配置文件中如何配置负载均衡、nginx的平滑加载配置文件启动
2025-02-16 22:27:20
516
原创 CPP集群聊天服务器开发实践(四):客户端开发与功能测试
客户端(client)开发主要是以命令行的形式与服务器进行交互,无需人工输入json消息,以此来验证登录注册注销、添加好友与聊天、创建加入群组与群聊等功能。
2025-02-16 10:49:37
1105
原创 CPP集群聊天服务器开发实践(三):群组聊天业务
在之前业务的基础上继续进行完善,主要针对群组相关的业务增加了创建群组、加入群组、以及发送群聊消息的功能。
2025-02-14 20:50:22
335
原创 CPP集群聊天服务器开发实践(一):用户注册与登录
实现网络层、业务层、数据层的解耦,提高系统的可维护性。网络层:主要实现对客户端连接、客户端读写请求的捕获与回调,将其分发到多个线程中执行。业务层:主要实现客户端读写请求回调的具体操作,当前阶段主要包含:登录业务、注册业务、用户异常退出业务数据层:主要实现数据库中表的CUAD操作(增删改查)
2025-02-08 18:05:37
1313
原创 Json学习与实践
json是一种轻量化的数据交换格式/数据序列化格式。独立于编程语言。其简洁和清晰的层次化结构可以在客户端和服务器之间高效的通信。
2025-01-18 11:10:10
453
原创 开发一个容器引擎
在实现容器引擎时,资源的定量分配和隔离是关键点。CPU资源:每个容器应该有独立的CPU使用限制,防止单个容器占用过多CPU资源,影响其他容器的性能。通过cgroup的cpu.max文件限制每个容器的CPU使用时间。内存资源:每个容器应有独立的内存限制,防止内存溢出导致系统崩溃。使用cgroup的memory.max文件设置每个容器的最大内存使用限制,并通过设置软限制。网络资源:通过veth对等连接为每个容器分配独立的网络接口,并配置独立的IP地址。
2025-01-17 11:27:20
894
原创 网络互联(软件路由器)实验
给定网络拓扑以及节点的路由表配置,实现路由器的转发功能,使得各节点之间能够连通并传送数据。不同网络之间的数据传输需要用到路由器的数据转发功能。
2025-01-17 11:01:58
1266
原创 Epoll实战:手搓Epoll机制客户端-服务器通信系统
基于前文Epoll原理,本文在基于poll机制的服务器和客户端通信系统基础上进行优化,利用epoll机制进行实现
2024-11-27 17:53:55
1923
1
原创 黑马笔记之程序小练-职工管理系统开发
设计职工管理系统,用户可以对职工信息进行增删改查。数据保存在文件中可以自动保存和加载。包含C++核心编程的封装、继承、多态以及文件操作等知识点的应用实践。
2024-10-16 20:22:37
222
原创 08 黑马笔记之C++进阶语法-C++核心编程
月薪过万第一步,先当黑马程序员,本章记录C++语法之C++核心编程易遗忘的点,内容较多,但很细节
2024-10-11 22:24:59
1866
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人