青团社创立于2013年7月,是国内领先的一站式灵活用工招聘服务平台。平台依托创新融合的互联网技术,基于精准用户画像及庞大的人才资源库,开创性地利用数据高效缔结求职者与企业之间的供需关系,为42万+企业提供兼职招聘与管理服务,有效降低用工成本,提升经营效率。青团社业务涵盖兼职招聘、RPO、HR SaaS、云地推等。
目前,青团社已为3亿+人次提供了兼职机会,累计服务用户2500万,单日报名人次超过80万,服务范围覆盖全国300多个城市,位居行业第一,入选《2020杭州准独角兽企业榜单》及36氪“WISE2019新商业开创者榜单”。
近些年来,随着云原生技术的不断发展和成熟,越来越多的企业正在拥抱云原生技术来构建自己的业务系统。以青团社旗下的青团兼职平台为例,应用已经基于Spring Cloud框架全面实现了微服务化,并部署运行在阿里云平台。但随之而来也引入了一些额外的需求及问题需要解决。
(1)运维监控
相比于传统的单体应用,微服务架构下应用数量的增多及调用链路的复杂化都给运维监控增加了难度,开发运维人员需要对服务调用链路进行实时监控,系统发生异常时需要在线实时诊断,提早发现并及时解决线上问题,从而保证业务的稳定性。
(2)异步解耦
青团社某些核心业务如客户下单、岗位发布等场景,对系统响应时间比较敏感,服务之间的调用决定采用异步消息通信方式,实现应用之间解耦,从而提升系统效率,因此需要稳定可靠的消息服务来作为技术支撑。
(3)容量规划
微服务架构下,任何一个服务节点都可能成为性能瓶颈,局部Ready不代表整体Ready。尤其当业务有周期性的营销活动,面对流量突发等情况时,如果某个服务节点不可用的话,就有可能触发雪崩效应,通常可以采用限流降级等方案,但限流阀值到底设置多少合理,就需要对当前系统进行全链路压测及性能评估。
(4)弹性伸缩
应用通过自建的发布平台部署在ECS上,大部分时间下存在硬件资源闲置。此外业务流量也有波峰波谷的情况。如何配合弹性规则做到应用级别的自动扩缩容,应对日常及突发流量的同时也提升了计算资源利用率,是一个值得思考问题。
(5)大数据分析
此外青团社使用阿里云大数据计算平台MaxCompute,对用户埋点数据进行实时或离线分析,从数据采集到中间环节的数据流转,需要高吞吐的数据通道进行分流及同步,同时技术上还要满足在大数据生态中有良好的集成性。
为解决以上问题,青团社的技术团队经过技术评估及选型,最终决定采用阿里云云原生相关产品解决方案:
(1)接入应用实时监控服务(ARMS)提供的应用监控功能,可以在不修改任何现有代码的情况下解决微服务架构下的监控、运维、诊断等问题。
(2)通过消息队列RocketMQ版,将上下游业务系统异步解耦,削峰填谷,提高系统响应速度。
(3)采用PTS对站点压测,进行精细化的容量规划,探测系统中的性能瓶颈点,进行针对性优化,确保促销期间及日常的业务稳定。
(4)将微服务应用部署到SAE,不但解决了服务发布部署问题,同时利用SAE的极致弹性能力从容应对突发性流量洪流,实现资源按需使用,极大的提升了资源利用率。
(5)通过消息队列Kafka版,根据日志类型将消息发布到不同的Topic,然后利用订阅消息的实时投递,将消息加载到MaxCompute进行后续分析处理。
青团社的技术团队基于这套方案,有效地支撑了业务系统稳定运行的同时,也节省了运维和资源成本,助力业务快速发展!
(1)保障业务系统稳定性
消息队列服务托管免运维的同时,还具备高并发,高可用性、消息无丢失等特性,保证了核心系统的稳定性。PTS模拟真实流量,结合ARMS进行精准的容量评估,对系统瓶颈进行快速定位和修复,真正做到事前合理的资源规划和成本预测,确保了周期性的促销活动及日常业务的稳定。
(2)提升运维诊断效率
ARMS为微服务架构提供了强大的实时监控诊断能力,结合监控告警功能,协助开发运维人员快速及时发现线上问题,提升了自助排查问题的效率。节省运维资源的同时,解放了生产力,将精力聚焦在业务本身。
(3)实现资源合理利用
SAE是面向应用的Serverless PaaS平台,不但支持多种应用部署方式,还具备秒级按需弹性以及一键启停整套环境的能力,SAE以最小化闲置资源为原则,提高资源利用率,为企业节省成本。
青团社希望让兼职更智能、更简单、更有温度,致力于成为“灵活用工”时代的引领者。