前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >架构设计 - Server设计草稿

架构设计 - Server设计草稿

作者头像
Aichen
发布于 2018-06-25 03:03:31
发布于 2018-06-25 03:03:31
5950
举报
文章被收录于专栏:白驹过隙白驹过隙

DMServer Framework 

主要属性:

  1. 四个模块部署在不同服务器,双层部分考虑主备和分布式部署。
  2. 架构可依据具体前端需求进行裁剪,灵活配置。
  3. gate用于业务框架分布式部署,在业务量可控范围可取消,做集中控制。
  4. 所有除gate服务均挂载在MQ上,需要做集群的服务以MQ队列名称做为集群名称,一个集群提供一个MQ队列,无集群默认提供一个MQ队列。集群上的节点以竞争方式消费队列数据。
  5. 对app只开放gate和proxy,gate以短连接形式获取proxy地址,proxy为长连接。
  6. Maintain需要具备自动监控维护和主动维护两个功能,并开放web界面。

Message protocol

所有通信均采用此消息协议头,基于tcp上层封装,通信分以下四种:

  1. App  to  server   request  /  response 数据请求
  2. Server  to  app   无request 消息推送与心跳
  3. Server  to  server  无response 数据转发
  4. Server  to  server  request  /  response 数据请求

协议参数:

  1. Message id  消息id,根据时间戳生成,保证唯一性(MAC + IMEI + 时 + 分 + 秒 +)
  2. User id  用户id,注册时分配用户唯一id标示用户
  3. Msg cmd  消息命令码,server通过配置文件划分命令区域,由于前段屏蔽业务服务器,proxy通过命令码进行映射寻址
  4. Body length  消息体长度,server依据length接收数据及,分配数据内存
  5. From  消息源地址,server在配置文件中定义各个服务器及app标示id
  6. To  消息目的地址
  7. Cluster id /node id   集群id,节点id,可选参数,第一次登陆依据负载分配cluster及node并存入redis,无此参数以redis数据为默认参数
  8. Wait time  响应等待时间,可选参数,不填取默认等待时间
  9. Flag  标示消息类型
  10. Reserve  保留,此数据位结束后紧跟消息体,消息体采用protobuf进行数据编解码压缩,加密数据在压缩基础上加密

Database Framework

数据库属性:

  1. 数据库分redis及MySQL,两个数据库数据关系为mysql部分热数据刷新到redis
  2. Redis不做备份,但必须做主从
  3. 写数据使用MySQL,读数据使用Redis,做读写分离,读Redis失败再从MySQL获取
  4. MySQL需要做热备
  5. 单独起进程进行数据库维护,依据log_bin进行redis同步,执行对应脚本进行对应表管道同步或直接执行两次写操作
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-08-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
后台服务架构高性能设计之道
作者:booleanwang,腾讯 PCG 后台开发工程师 “N 高 N 可”,高性能、高并发、高可用、高可靠、可扩展、可维护、可用性等是后台开发耳熟能详的词了,它们中有些词在大部分情况下表达相近意思。本序列文章旨在探讨和总结后台架构设计中常用的技术和方法,并归纳成一套方法论。 前言 本文主要探讨和总结服务架构设计中高性能的技术和方法,如下图的思维导图所示,左边部分主要偏向于编程应用,右边部分偏向于组件应用,文章将按图中的内容展开。 高性能思维导图 1 无锁化 大多数情况下,多线程处理可以提高并发性能,但
腾讯技术工程官方号
2022/04/27
2.2K0
后台服务架构高性能设计之道
架构设计(一)
则峰值 x 3, TPS是345, QPS是3450  ->  这个量级不要求高性能;
Vincent-yuan
2022/05/11
5490
架构设计(一)
架构设计文档模板
架构设计中最重要的两个文档的模板和关键说明。这个案例文档仅给出一些关键内容供你参考,部分细节无法全面覆盖或者完全保证正确。(斜体字是示例)
Dlimeng
2023/06/30
9960
架构设计文档模板
高并发架构设计经验
高并发解决的核心问题是在同一时间上有大量的请求过来,然后我们的系统要怎么抗住这些请求带来的压力。比如在线直播服务,同时有上百万甚至上千万人观看。比如秒杀品,同时有大量用户涌入。
Allen.Wu
2022/11/14
1.3K2
出行领域架构设计
作者:王小雪。滴滴出行架构师,原快的打车架构师。 来源:程序员杂志 某知名打车平台从随着业务的发展,系统访问量迅速膨胀,很多复杂的问题要在短时间内解决,且不能影响线上业务,这是比较大的挑战,本文将会阐
架构师小秘圈
2018/04/02
1.8K0
出行领域架构设计
浅谈Web网站架构演变过程及各阶段所用的技术和架构设计(转)
  我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。
wuweixiang
2019/03/12
2K0
浅谈Web网站架构演变过程及各阶段所用的技术和架构设计(转)
大型高并发与高可用的三层缓存架构总结
对于高并发架构,毫无疑问缓存是最重要的一环,对于大量的高并发,可以采用三层缓存架构来实现,nginx+redis+ehcache nginx 对于中间件nginx常用来做流量的分发,同时nginx本身
Java高级架构
2018/04/19
1.6K0
大型高并发与高可用的三层缓存架构总结
大型高并发与高可用的三层缓存架构总结
作者:高级架构师 文章来自:https://my.oschina.net/u/3772106/blog/1616343 nginx 对于中间件nginx常用来做流量的分发,同时nginx本身也有自己的
java思维导图
2018/03/15
1.1K0
大型高并发与高可用的三层缓存架构总结
架构设计的问题与解法
小到某个功能的开发方案,大到整个业务的系统设计,都可以看到架构设计的影子,但是架构设计的目的到底是什么?『从0开始学架构』的作者给我们的解答是:架构设计的主要目的是为了解决软件系统复杂度带来的问题。
Cloudox
2023/03/09
9250
架构设计的问题与解法
BAT互联网大厂的后端主流技术栈是啥?
何为后端开发?以一个网站为例,通常来说,前端研发注重页面的展示,交互逻辑。而后端研发,则注重在发生在前端背后(backend)的逻辑上,例如给前端返回数据,存储数据。对于一个电商网站,一个简单的下单动作,后端可能包括商品数据查询,优惠信息计算,库存维护,用户优惠券维护,订单生成,商家通知触发等等。在很多大公司前后端的配比是1:3甚至更高,因为一个复杂的业务系统,前端的展示仅仅是冰山一角,更复杂的业务逻辑都隐藏在后端。
zz_jesse
2020/06/19
2.2K0
BAT互联网大厂的后端主流技术栈是啥?
【架构设计复习】高可用,高扩展实现方案
通过心跳检测并实施主备切换(比如redis的哨兵模式或者集群模式、MySQL的主从切换等)。
韩旭051
2021/04/14
9600
架构 | 大型网站分布式高并发架构设计汇总
本文多数内容为小编精心总结,呕心沥血完成,切勿抄袭沿用。 参考文献《架构知识》、《深入理解java》 ---- 章节目录: 前言 前端架构 应用层架构 服务层架构 存储层架构 后台架构 数据采集、监控 安全架构 大型网站特点 系统的演变 大型网站架构模式 架构要素 性能优化 前端性能优化 服务器端性能优化 存储性能优化 高可用性能优化 伸缩性优化 分布式缓存 NOSQL 安全架构常见的攻击方式 加密 信息过滤 1前言 网站架构包括:前端架构+应用层架构+服务层架构+存储层架构+后台架构+数据中心机房架构+
码神联盟
2018/04/02
1.5K0
碎片式的技术笔记
统一SDK:封装统一的client/server标准接口规范(协议(http/TCP)&失败重试机制&参数传递规范)
老_张
2021/09/24
3870
转转平台IM系统架构设计与实践(一):整体架构设计
转转是二手电商平台,在这个平台上,人人可以是买家,人人也可以是卖家。转转从最初的信息模式升级为一个闭环的交易模式,IM打通了买家与卖家之间的通道。本文描述了转转IM为整个平台提供的支撑能力,给出了系统的整体架构设计,分析了系统架构的特性。
JackJiang
2025/01/09
960
转转平台IM系统架构设计与实践(一):整体架构设计
聊聊高可用的“异地多活”架构设计
来源:https://blog.dogchao.cn/?p=299  前言 后台服务可以划分为两类,有状态和无状态。高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过 F5 或者任何代理
程序猿DD
2022/10/11
1.7K0
聊聊高可用的“异地多活”架构设计
全面讲解分布式数据库架构设计特点
随着全球经济下行压力增大,中美贸易摩擦愈演愈烈,美国一系列的经济制裁和技术封锁使得我们有种被扼住咽喉的感觉,数据库作为基础软件中的重要一环有着很深的技术含量,在这样的大背景下国产数据库厂商开始发力,这其中分布式数据库如雨后春笋般出现,良性的竞争环境使它们都得到了长足的发展,其中不乏优秀的产品,本文主要挑选目前几个相对成熟数据库进行架构特点介绍。
数据库架构之美
2019/12/18
2.8K0
极光商城服务架构设计
我们先来看看这张图,首先我们可以思考一下,这个架构中,哪些地方可以做负载均衡,来承载更高的 QPS 呢?
Bess Croft
2021/07/23
8790
极光商城服务架构设计
mysql高可用架构设计
主要介绍:复制功能介绍,mysql二进制日志,mysql复制拓扑,高可用框架,单点故障,读写分离和负载均衡
用户3788073
2018/11/18
9970
基于云原生应用架构设计
第一个阶段为早期单体架构,一般服务端+数据库的方式进行开发,采用三层MVC架构进行开发。主要特点:企业处于早期,业务比较简单,产品功能比较单一,业务会随时根据运营数据进行调整,对开发人员来说,主要讲不同的功能模块进行划分,能够应对业务随时调整的不确定性。
架构之家
2022/09/01
6830
基于云原生应用架构设计
基于dubbo框架,如何进行大型微服务系统架构设计?
一,为什么需要微服务框架 Nginx+tomcat组成的集群,这已经是非常灵活的集群技术,但是当我们的系统遇到更大的瓶颈,全部应用的单点服务器已经不能满足我们的需求,这时,我们要考虑另外一种,我们熟悉的内容,就是分布式,而当下国内流行的Dubbo框架,不容我们忽视(国外springcloud更火)。 以前我们需要远程调用他人的接口或者提供第三方使用接口,我们可能会遇到的问题: 1,当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。此时需要一个服务注册中心,动态的注册和
架构师小秘圈
2018/04/02
2K0
基于dubbo框架,如何进行大型微服务系统架构设计?
相关推荐
后台服务架构高性能设计之道
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档