1、关于微信的架构问题
最初的方案是客户端记录一个本地数据的快照(Snapshot),需要同步数据时,将Snapshot带到服务器,服务器通过计算Snapshot与服务器数据的差异,将差异数据发给客户端,客户端再保存差异数据完成同步。不过这个方案有两个问题:一是Snapshot会随着客户端数据的增多变得越来越大,同步时流量开销大;二是客户端每次同步都要计算Snapshot,会带来额外的性能开销和实现复杂度。
几经讨论后,方案改为由服务计算Snapshot,在客户端同步数据时跟随数据一起下发给客户端,客户端无需理解Snapshot,只需存储起来,在下次数据同步数据时带上即可。同时,Snapshot被设计得非常精简,是若干个Key-Value的组合,Key代表数据的类型,Value代表给到客户端的数据的最新版本号。Key有三个,分别代表:帐户数据、联系人和消息。这个同步协议的一个额外好处是客户端同步完数据后,不需要额外的ACK协议来确认数据收取成功,同样可以保证不会丢数据:只要客户端拿最新的Snapshot到服务器做数据同步,服务器即可确认上次数据已经成功同步完成,可以执行后续操作,例如清除暂存在服务的消息等等。
此后,精简方案、减少流量开销、尽量由服务器完成较复杂的业务逻辑、降低客户端实现的复杂度就作为重要的指导原则,持续影响着后续的微信设计开发。记得有个比较经典的案例是:我们在微信1.2版实现了群聊功能,但为了保证新旧版客户端间的群聊体验,我们通过服务器适配,让1.0版客户端也能参与群聊。
3. 定型了后台架构

图 2 微信后台系统架构
微信后台使用三层架构:接入层、逻辑层和存储层。
接入层提供接入服务,包括长连接入服务和短连接入服务。长连接入服务同时支持客户端主动发起请求和服务器主动发起推送;短连接入服务则只支持客户端主动发起请求。
逻辑层包括业务逻辑服务和基础逻辑服务。业务逻辑服务封装了业务逻辑,是后台提供给微信客户端调用的API。基础逻辑服务则抽象了更底层和通用的业务逻辑,提供给业务逻辑服务访问。
存储层包括数据访问服务和数据存储服务。数据存储服务通过MySQL和SDB(广硏早期后台中广泛使用的Key-Table数据存储系统)等底层存储系统来持久化用户数据。数据访问服务适配并路由数据访问请求到不同的底层数据存储服务,面向逻辑层提供结构化的数据服务
2、java微信开发用什么框架好
核心框架:来Spring Boot2 + Spring Cloud Alibaba + Spring Cloud Gateway
这是joolun微信快速开发系统的自核心框架选型,用目前流行的微服务前后端分离技术开发的java源码框架,你可以参考一下
3、mui框架 微信支付服务端怎么写
客服被,
4、请问微信企业号的功能架构都有哪些?
据我所知,微企企业号是企业管理平台,即企业号将在移动互联网上为企业提供对内部员内工的管理容、沟通与服/务。
21cn微企,基于微信企业号的的wei信办公系统,为企业和员工提供了移动考勤、任务交办、外勤管理、审批流程、企业邮箱等13大办公应用功能,让员工积极主动使用移动办公,助力企业高效便捷管理。
5、要做一个类似于微信或者QQ的Android、ios的聊天应用,请问服务器端用什么技术或开源框架比较好?
即时聊天通用的协议是 XMPP,基于这个协议有一套java开源的服务端 openfire,可以快内速的搭建一套即时聊容天服务端。
但是现在有不少云即时通讯服务。例如
容联云通讯、云之讯、环信、融云
这些云服务提供了api,我们基于他的api开发很容易实现自己的即时聊天软件。服务端,服务器都不用我们自己管了,极大的节省了成本和开发周期。而且这些云服务基础服务都是免费的。
建议用第三方的云服务实现。
6、怎么在买的腾讯云服务器上架构微信公众号?
直接去腾讯云官网申请就可以了
7、微信公众平台开发用什么框架最好
你好!
单纯微信接口servlet就够了, 管理后台的话看喜好。
jersey感觉比SpringMVC好一点。
不管哪个,自己熟悉的才是最好的。
8、微信的后台架构是怎样的?
具体的内部后台构架应该算是商业机密,一般人不会泄露出来的。微信在最开始的阶段它是创立了KV存储平台,去承载整个微信的后台核心数据存储
9、kik 米聊,微信的服务器和客户端架构是怎样的
米聊和复kik是XMPP协议制的,微信是activesync协议的。米聊早期似乎使用的ejabberd,后期自己写了,kik使用的是 tigase server。陌陌早期也是xmpp,用的openfire,后来自己做了。
10、怎么做微信公众号的架构?请专业人士回答
你的公众号准备干嘛用的,都需要哪些功能你问的具体点我再一一给你回答