Gleasy首席架构师薛珂:以开源为基础实现分布式框架及中间件

Gleasy联合创始人薛珂分享了Gleasy在分布式框架及中间件方面的技术实战经验,包括应用整合、技术框架设计、核心中间件实现等,详细介绍了分布式消息队列、分布式文件系统、分布式即时通讯、分布式检索平台和分布式任务调度等关键技术。

Gleasy首席架构师薛珂:以开源为基础实现分布式框架及中间件

注:本文首发于CSDN,转载请标明出处。

【编者按】本文为在线办公平台 Gleasy 的联合创始人、技术团队掌门人薛珂所写,他给我们分享了Gleasy一路走来的技术实战。据悉,发布近三年的Gleasy,已经成功积攒50,000多家企业用户,在应对在海量存储以及高并发前提下的各种基本问题的解决方面深有心得。

与此同时,2015年3月18日,Gleasy将正式发布3.0版“约了”,并推出英文版、繁体版,以及启动互联网服务合作伙伴邀约计划。

以下为正文:

Gleasy作为技术服务提供商,主要解决两大关键问题,其一是应用整合问题,即如何把需要专门开发的行业应用整合进Gleasy平台,使到这些从用户层面来讲完全就是Gleasy的一部分,应用之间亦可以无缝地进行整合沟通。其二是技术框架问题,即如何通过标准框架和中间件来大大简化应用研发复杂度,避免应用开发商在一些关键而且深入的技术问题上(比如分布式,大并发,海量存储,高性能,高可用等问题)的大量投入,从而缩短应用研发生命周期。

应用整合

Gleasy使用一种叫作在线应用间进程通信技术来解决应用的整合问题。Gleasy里面运行的一盘,一说,美图秀秀等等,全都是一款款的独立应用。当用户使用Gleasy的时候,这些独立应用如何打开,资源如何加载,如何管理(比如关闭),如何监控,如何调用(比如用美图秀秀打开一盘文件)等等,都是该技术解决的问题。

Gleasy首席架构师薛珂:以开源为基础实现分布式框架及中间件

应用进程: 应用在Gleasy运行时的存在形态,它可以是一个URL(比如美图秀秀),也可以是JS的类和DOM(比如一盘)。当用户安装某个应用后,就会在在线应用注册表中生成注册项,注册项包含了应用的URL或者用于启动的JS类(MAIN函数)。点击图标启动时,内核的进程管理器(ProcessManager)会读取注册项,动态加载应用运行时所需的资源(JS等),运行MAIN函数生成应用进程(Process)实例

进程间通信: 应用通过调用进程管理器提供的API来声明自己可以提供的服务。调用者通过调用进程管理器的API来调用服务。比如从项目管理中选择一盘文件这个调用,进程管理器会寻找“一盘”这个应用进程,看是否存在,如果不存在,会尝试启动它,启动成功后把事件投递到该进程的消息队列中,一盘应用进程会定时消费在自己消息队列中的消息。从而实现应用间通信。

基于进程通信技术,Gleasy声明了大量可以供全部应用调用的服务。应用通过调用这些服务,可以轻松地集成诸如单点登录,选择组织架构,打开/保存文件,发起邮件,发起工作流,发起日程,发起聊天等功能。

技术框架

云技术的挑战之一是如何应对在海量存储,高并发前提下的各种基本问题的解决。一些看似非常简单和基本的问题,一旦遇上海量存储和高并发,便变得复杂起来,比如长链接保持和消息推送,文件存储,实时检索,定时任务等问题,如果不在架构阶段做好充分的规划,等系统成型时再去调整,将会是一场灾难。Gleasy经过长时间摸索,在开源和自主研发方案之间适当不断平衡,最终以开源为基础,吸取多家之长,使用多种技术实现了一整套分布式框架及中间件,来应对这些挑战。

分布式消息队列(CloudMQ): 解决系统访问量瓶颈的利器,使用MQ可以轻松将一些热点场景变换为异步实现,从而根本性提高性能。参考了Apache的开源项目Kafka和淘宝开源项目Meta。承继了分布式及高性能高吞吐量的特性,但抛弃了前两者的broker设计,从而令整个方案更轻量。基于JAVA打造,借助redis实现队列存储,借助Zookeeper实现结点协调及生产消费调度。

分布式文件系统(Cloudfs): 吸收了HDFS和FastDFS的经验,特别是借鉴了FastDFS关于分组的思想,但引入了诸如自动去重,文件极速复制,断点续传等更适合云OA类应用的特征。基于JAVA NIO实现,借助CloudMQ实现结点了之间的文件实时同步,借助redis存储文件结点索引信息,实现了自动去重。

分布式即时通讯(CloudIm): Openfire在长连接保持和消息推送方面做得非常优秀,XMPP协议的普适性令到多终端开发极为方便。但是Openfire并不支持分布式,另外基于Mysql的存储技术在性能方面令人望而生畏。好在它提供了完善的plugin机制,从而给我们打造完全适合自己的分布式IM提供了便利。基于plugin机制,将存储完全替换为redis,引入zookeeper进行结点之间协调,提供HTTP接口供后端系统集成。一款分布式的即时通讯中间件就这样打造出来。

分布式检索平台(CloudIndex): 数据检索,特别是大数据的检索,一不小心就会令整个系统陷入崩溃,CPU轻松上到100%,即使建了索引,插入和更新时也是噩梦。基于Lucene的Solr,提供了丰富和便利的数据准实时检索方案。但是Solr的主从复制和Snapshot机制,经过我们长时间验证,发现在大数据下存有明显的问题,一是延迟极为,二是出现多次崩溃(I/O狂升)。无奈之下进行改造,引入CloudMQ使用消息队列进行结点之间的数据同步,读写性能得到极大提升。

分布式任务调度(CloudJob): 定时任务是许多功能必不可少的功能,比如日历提醒,生日提醒。Quartz在单机环境下表现还是可以的,但是一旦涉及N台机器的定时任务触发,就比较吃力了,性能上不去,经常会收不到提醒。redis丰富的数据结构hashset为我们实现任务队列提供了极大便利,结合zookeeper的结点协调能力,一款精致而强大的分布式任务调度便产生了。

Gleasy在整个技术服务提供商这条路上已经走了4个年头,也积累了大量的经验和教训。在分布式设计的过程中,由于功能特性及需求的不同,供选择的方案可以千差万别。了解一种技术,最重要是了解技术背后的弱点的限制。就像上面所列举的一些自主研发的核心中间件,最初都是由开源开始,最终以自主研发或者二次改造结束。但是如果没有开始时众多的开源产品,估计我们所走的弯路会更长更崎岖。技术选型中,应相信一点,没有最好的技术,只有最适合的技术。 

作者介绍:薛珂,Gleasy联合创始人、技术团队掌门人,互联网资深架构师,当前主要负责主持Gleasy全部产品的研发及运维工作,研发团队的建设和管理,同时作为首席架构师,负责Gleasy平台底层架构相关设计工作。

由“2015 OpenStack技术大会”、“2015 Spark技术峰会”、“2015 Container技术峰会”  所组成的  OpenCloud 2015大会于 4月17-18日在北京召开。日程已经全部公开! 懂行的人都在这里! 

(优惠票价期,速来)

【约稿倡议书】 

这几年,云计算成为了助力企业转型的核心驱动力,不但让企业的 IT 基础架构管理焕然一新,还为企业带来了更加智慧的运算方式。与此同时,云计算还引领着行业的变革,改变着人们的生活方式。虽然云计算处在快速的发展当中, 但从起步、研发、应用、推广等各个环节上来说,在中国的发展时间都比较晚,其中存在的问题诸多,可谓是机遇与挑战共存。为了推动云计算技术发展、更好的服 务行业参与者  优快云云计算频道 特在此面向云服务提供商 、初创企业和个人等征集稿件,诚邀企业的实干家们来谈谈你们的技术实战,以及进行案例分享,也欢迎就某个热点话题或技术来分享你的观点 。

投稿+咨询请致邮:qianshg@youkuaiyun.com。

内容概要:本文介绍了一个基于冠豪猪优化算法(CPO)的无人机三维路径规划项目,利用Python实现了在复杂三维环境中为无人机规划安全、高效、低能耗飞行路径的完整解决方案。项目涵盖空间环境建模、无人机动力学约束、路径编码、多目标代价函数设计以及CPO算法的核心实现。通过体素网格建模、动态障碍物处理、路径平滑技术和多约束融合机制,系统能够在高维、密集障碍环境下快速搜索出满足飞行可行性、安全性与能效最优的路径,并支持在线重规划以适应动态环境变化。文中还提供了关键模块的代码示例,包括环境建模、路径评估和CPO优化流程。; 适合人群:具备一定Python编程基础和优化算法基础知识,从事无人机、智能机器人、路径规划或智能优化算法研究的相关科研人员与工程技术人员,尤其适合研究生及有一定工作经验的研发工程师。; 使用场景及目标:①应用于复杂三维环境下的无人机自主导航与避障;②研究智能优化算法(如CPO)在路径规划中的实际部署与性能优化;③实现多目标(路径最短、能耗最低、安全性最高)耦合条件下的工程化路径求解;④构建可扩展的智能无人系统决策框架。; 阅读建议:建议结合文中模型架构与代码示例进行实践运行,重点关注目标函数设计、CPO算法改进策略与约束处理机制,宜在仿真环境中测试不同场景以深入理解算法行为与系统鲁棒性。
在科技快速演进的时代背景下,移动终端性能持续提升,用户对移动应用的功能需求日益增长。增强现实、虚拟现实、机器人导航、自动驾驶辅助、手势识别、物体检测与距离测量等前沿技术正成为研究与应用的热点。作为支撑这些技术的核心,双目视觉系统通过模仿人类双眼的成像机制,同步获取两路图像数据,并借助图像处理与立体匹配算法提取场景深度信息,进而生成点云并实现三维重建。这一技术体系对提高移动终端的智能化程度及优化人机交互体验具有关键作用。 双目视觉系统需对同步采集的两路视频流进行严格的时间同步与空间校正,确保图像在时空维度上精确对齐,这是后续深度计算与立体匹配的基础。立体匹配旨在建立两幅图像中对应特征点的关联,通常依赖复杂且高效的计算算法以满足实时处理的要求。点云生成则是将匹配后的特征点转换为三维空间坐标集合,以表征物体的立体结构;其质量直接取决于图像处理效率与匹配算法的精度。三维重建基于点云数据,运用计算机图形学方法构建物体或场景的三维模型,该技术在增强现实与虚拟现实等领域尤为重要,能够为用户创造高度沉浸的交互环境。 双目视觉技术已广泛应用于多个领域:在增强现实与虚拟现实中,它可提升场景的真实感与沉浸感;在机器人导航与自动驾驶辅助系统中,能实时感知环境并完成距离测量,为路径规划与决策提供依据;在手势识别与物体检测方面,可精准捕捉用户动作与物体位置,推动人机交互设计与智能识别系统的发展。此外,结合深度计算与点云技术,双目系统在精确距离测量方面展现出显著潜力,能为多样化的应用场景提供可靠数据支持。 综上所述,双目视觉技术在图像处理、深度计算、立体匹配、点云生成及三维重建等环节均扮演着不可或缺的角色。其应用跨越多个科技前沿领域,不仅推动了移动设备智能化的发展,也为丰富交互体验提供了坚实的技术基础。随着相关算法的持续优化与硬件性能的不断提升,未来双目视觉技术有望在各类智能系统中实现更广泛、更深层次的应用。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值