- 服务端软件
- 以什么作为应用层缓存,尽可能少的内存拷贝及内存碎片,利于分帧处理粘包,且最好只分一次;
- 以什么作为通用网络库,实现简单优雅、可维护、性能不低,tcp客户服务端、udp均支持、不活跃链接自动断开;
- 多进程多线程处理,少共享变量,少使用锁,少逻辑交织,线程安全,简化必需业务之外的逻辑、io。读写处理三部分离,以免头尾难兼顾。
- 数据采集服务端软件
- 上下行报文处理可排序、可插队,如页面上下行的报文先发先解;
- 简化(脚本化)各种批量收发业务应用小程序的开发维护及为第三方提供调用服务;
- 多协议抽象处理,简化与前台的交互接口,简化到处的协议解析;
- 数据接口的形式,报文组帧前与解析后的数据形式(协议型的json?kv?);
- 同步、异步上下行方式的选择;
- 各程序模块、中间件的集群分布式化;
- 开源组件选型科学、使用成熟;
- 标准化设计并控制设计复杂度。
- 运维及监控
- 自动检测较新版本自动升级并重启;
- 集中批量可视化配置与管理各进程;
- 自动上报各程序状态,可度量、可监控、可视化各部分程序执行状态,各业务执行可管理、可干预;
- 各部分日志可视化,可筛选、追溯利于用户或运维定位分析问题;
- 自动化测试。