单台服务器可支持上万并发用户,目前移动端数据库方案按其实现可分为两类

by admin on 2020年3月13日

摘要即时通讯云网易云信于2017年07月06日发布4.0版,本次更新为主要版本更新,详情见文章内容。发布的版本本次发布的版本号为
4.0版,更新时间为:2017年07月06日。iOS
更新内容新增智能机器人功能,增加新的机器人管理器NIMRobotManager。聊天室连麦队列变更后数据同步,现在可以从NIMChatroomNotificationContent中的ext字段读取到具体的变更数据了。发送聊天室消息时,可以通过设置消息中NIMMessageSetting的historyEnabled字段来控制是否存服务器历史记录。Android
更新内容新增1. 接入华为推送服务。2.
接入网易Bot(智能机器人)功能,增加RobotService、RobotServiceObserve接口。3.
新增聊天室发消息是否存历史记录的开关,发送聊天室消息时可以选择是否存入历史记录。4.
聊天室连麦队列变更后数据同步。变更1.
被叫语音、视频通话未接听计入未读数。2. 修复接收聊天室 tip 消息获取
content 为空的问题。Windows(PC) SDK 更新内容新增机器人模块,
nim_robot.h聊天室消息不存历史记录开关聊天室队列变更通知增加变更内容支持Https(默认Http)修复修复管理后台创建群(不需要用户同意)时,在线客户端无法同步该群信息到本地的问题修复申请加入群(不需要管理员同意)时,本地群列表里没有该群信息的问题Web
SDK
更新内容新增新增机器人消息收发接口新增机器人默认bot类型消息的xml解析方法新增聊天室发送消息可选不保存历史消息配置变更修复部分iPhone机型断网重连后协议解析问题修复转发消息数据库记录有误的问题下载地址请从以下官网地址下载:

摘要Openfire发布4.1.5版,Openfire
采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。前言Openfire基于XMPP(Jabber)协议,采用Java开发,是开源的即时通讯(IM)服务器。Openfire安装和使用都非常简单,并利用Web进行管理,单台服务器可支持上万并发用户。Openfire开发团队表示将继续努力打造一个稳定的4.1版本系列,解决自
4.1.0 发行版以来在 Openfire 中遇到的roster
group问题等。4.1.5版更新内容Bug[OF-1310] – Can`t delete last item of
the pubsub node[OF-1327] – Should not compare incomparable
types[OF-1330] – Can’t enable database query statistics on the admin
console[OF-1332] – Update bundled MySQL driver to fix utf8mb4
databases[OF-1334] – Monitoring Plugin displays “Archive index rebuild
failed”[OF-1348] – AuthBased*Provider try to use SortedSet without
Comparable items[OF-1355] – UserImportExport plugin: import should not
fail when optional config is missingTask[OF-1343] – Update install
guide about the automatic service installationImprovement[OF-1277] –
Change setting name to Invisible Login and Status[OF-1325] – Implement
separate History settings in Client Control[OF-1326] – Allow BOSH
context to be re-used.[OF-1338] – Minimum server version restrictions
should ignore release status identifier[OF-1341] – Windows Launcher
requires to run “as administrator”[OF-1342] – Remove “Run Openfire”
from the final step of the installer[OF-1347] – Group settings
update[OF-1350] – Be less strict when setting a password on a MUC
room[OF-1351] – Parse ‘release’ number[OF-1352] – Plugin version
number should not
wrap官方链接:

摘要WCDB(WeChat
DataBase)是微信官方的移动端数据库组件,致力于提供一个高效、易用、完整的移动端存储方案。目前正在筹备开源中。WCDB简介WCDB(WeChatDataBase)是微信官方的移动端数据库组件,致力于提供一个高效、易用、完整的移动端存储方案。它包含三个模块:WCDB-iOS/MacWCDB-Android数据库损坏修复工具WCDBRepair目前正在筹备开源中。WCDB的开发背景对于iOS开发者来说,数据库的技术选型一直是个令人头痛的问题。由于Apple提供的CoreData框架差强人意,使得开发者们纷纷将目光投向开源社区,寻找更好的存储方案。
对于微信也是如此。数据库是微信内最基础的组件之一,消息收发、联系人、朋友圈等等业务都离不开数据库的支持。为了满足需求,我们也对现有方案做了对比研究。目前移动端数据库方案按其实现可分为两类:关系型数据库,代表有CoreData、FMDB等。CoreData
它是苹果内建框架,和Xcode深度结合,可以很方便进行ORM;但其上手学习成本较高,不容易掌握。稳定性也堪忧,很容易crash;多线程的支持也比较鸡肋。FMDB
它基于SQLite封装,对于有SQLite和ObjC基础的开发者来说,简单易懂,可以直接上手;而缺点也正是在此,FMDB只是将SQLite的C接口封装成了ObjC接口,没有做太多别的优化,即所谓的胶水代码(Glue

Code)。使用过程需要用大量的代码拼接SQL、拼装Object,并不方便。key-value数据库,代表有Realm、LevelDB、RocksDB等。Realm因其在各平台封装、优化的优势,比较受移动开发者的欢迎。对于iOS开发者,key-value的实现直接易懂,可以像使用NSDictionary一样使用Realm。并且ORM彻底,省去了拼装Object的过程。但其对代码侵入性很强,Realm要求类继承RLMObject的基类。这对于单继承的ObjC,意味着不能再继承其他自定义的子类。同时,key-value数据库对较为复杂的查询场景也比较无力。可见,各个方案都有其独特的优势及劣势,没有最好的,只有最适合的。而对于微信来说,我们所期望的数据库应满足:高效;增删改查的高效是数据库最基本的要求。除此之外,我们还希望能够支持多个线程高并发地操作数据库,以应对微信频繁收发消息的场景。易用;这是微信开源的原则,也是WCDB的原则。SQLite本不是一个易用的组件:为了完成一个查询,往往我们需要写很多拼接字符串、组装Object的胶水代码。这些代码冗长繁杂,而且容易出错,我们希望组件能统一完成这些任务。完整;数据库操作是一个复杂的场景,我们希望数据库组件能完整覆盖各种场景。包括数据库损坏、监控统计、复杂的查询、反注入等。显然,上述各个方案都不能完全满足微信的需求。于是,我们造了这个“轮子”

WCDB-iOS/Mac。WCDB通过ORM和WINQ,体现了其易用性上的优势,使得数据库操作不再繁杂。同时,通过链式调用,开发者也能够方便地获取数据库操作的耗时等性能信息。而高级用法则扩展了WCDB的功能和用法。详情请见:《微信移动端数据库组件WCDB系列(一)-iOS基础篇》

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图