# 模拟电商 **Repository Path**: hslxy/e-commerce ## Basic Information - **Project Name**: 模拟电商 - **Description**: linux实验课作业 1)平台需要支持业务双活,拟搭建S1、S2两台服务器,其中S1服务器主要业务为口红、面膜等化妆品商品的销售,S2服务器主要业务为红酒、啤酒等酒类商品的销售 2)当S1或S2其中一台服务器异常时,其业务可以快速迁移至另一台正常的服务器,保持业务不中断 3)根据业务发展,希望未来还可以快速、灵活的在该平台上支持辣条、豆腐干等休闲食品商品的销售业务 4)支持客户在线选购商品和结算 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-22 - **Last Updated**: 2022-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README c++,多线程,socket编程,可以实现多服务器承担不同业务,多客户端连接,一台服务器宕机后立马有其他业务服务器在保持原服务的情况下加载反序列化承接已挂的业务,商品全部插件化实现了不改代码的情况下业务升级。 ## 编译代码 make ## 运行代码 ### 先启动服务器端 ./server A ./server B ### 再启动客户端 ./client 1 ./client 2 ./client 3 ./client 4 1,2,3,4为用户id,可以随意输入数字 ## 序列化数据保存路径和名称在 serializeConfig.txt文件中进行配置 ## 插件路径 服务器A的插件库 plugin/libA/ 服务器B的插件库 plugin/libB/ ## 宕机操作 随意ctrl c一个服务器,再去请求此服务器的业务会触发业务搬迁 ## 插件更新 在两个插件目录下添加新的插件就好了。 ## 功能 (1)两台服务器分别承接不同的业务,服务器端支持连接多个客户端同时接入。 (2)每次仓库数据有变化时是都会进行服务器数据的序列化。 (3)当一台服务器宕机后,另一个台服务器会承接其宕机的服务器的业务,并不会影响到客户端的任何业务。 (4)可以实现业务的升级和切换,所有商品类插件化,都被保存在每个服务器的插件文件夹下,如需添加新商品,只需要添加新的插件到服务器插件文件夹下就可。 (5)选购商品,结算商品,选购商品会发送请求,查询服务器端库存是否足够。结算商品,客户端直接进行计算。