极光笔记|极光消息推送服务的云原生实践

这篇具有很好参考价值的文章主要介绍了极光笔记|极光消息推送服务的云原生实践。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要

极光始终秉承“以开发者为中心”的战略导向,极光推送(JPush)是国内领先的消息推送服务。极光推送(JPush)本质上是一种软件付费应用程序,结合当前主流云厂商基础施设,逐渐演进成了云上SaaS服务。作为SaaS服务,必然要考虑云原生架构。因此,在极光推送(JPush)日益成熟的今天,也开启了云原生架构的演进之路。

云原生简介

云原生,即Cloud + Native,Cloud表示使用云服务,通常结合传统云厂商提供的基础设施;Native表示应用服务从服务设计开始就考虑接入云厂商的基础设施,充分利用云平台的弹性和分布式优势。

云原生技术理论,经多年发展,其主要可概括归纳为以下四点:微服务、DevOps、持续交付和容器化。

极光笔记|极光消息推送服务的云原生实践,极光推送,用户运营

其中,

  • 微服务和容器化,主要是指以k8s为底座的微服务和容器化,利用k8s平台的能力,快速搭建稳定性和可靠性更好的应用。

  • 持续交付和DevOps,则是指以CI/CD为核心,结合各种发布和运维工具,提供小步快跑,持续迭代,持续交付的全套开发、发布及运维的自动化流程,提高运维效率,降低运维出错风险。

总之,云原生技术,借助云计算平台(通常基础设施包括IaaS和PaaS)快速发展的东风,再结合虚拟化和分布式框架技术的成熟和普及,传统SaaS应用走向云原生化已是大势所趋。

云原生服务的优势

云原生架构服务之所以备受青睐,主要因为其有如下优势:

  • 高效:开发人员无需依赖特定硬件,而是使用DevOps流程构建随时可部署的容器化应用,可在不关闭应用的情况下轻松快速完成服务更新。

  • 高可用:云原生服务通过分布式能力,使应用具备超强的弹性和高可用能力。

  • 降成本:一方面,利用云厂商的基础设施,不用再购买价格高昂的服务器;另一方面,利用云原生服务的弹性能力,可以快速便捷的动态调整使用的资源,即根据服务的高峰期和低谷期,更合理的使用资源。

云原生消息推送服务改造

为了适配好云原生相关技术,极光推送(JPush)相应也进行了大规模的服务改造。其中,包括微服务架构优化,服务容器化改造,Kubernetes平台适配,可观测性改造,以及服务安全改造等等。

微服务架构改造

微服务架构的改造,主要包含以下几点:

  • 业务架构优化

  1. 合理的云服务组件切换,如云厂商的存储和缓存服务,提升系统的稳定性

  2. 业务流程梳理优化,精简调用流程

  3. 服务调用方式优化,合理使用RPC和消息队列传递消息,兼顾性能与消息传递解耦能力

  • 服务微服务化改造

  1. 选择合适的微服务化框架对服务进行改造,更好的契合云原生架构

  2. 优化微服务的请求失败重试,熔断,过载保护,以及负载均衡的策略,提升系统可靠性

  3. 选择合适服务注册中心,极光服务选择了nacos,并线上实践了大规模集群的管理能力

  • 服务容器化改造

  1. 微服务的容器化改造,去掉如本地缓存,服务进程间共享内存等依赖

  2. 适配k8s,并搭建可视化平台管理工具,方便快速支持k8s的线上容器管理和运维

可观测性改造

服务的可观测性也是云原生服务重要的一环,可观测性包括,监控告警、日志和链路追踪三大块。

  • 监控告警

  1. 通过Prometheus,自定义业务与资源的上报指标,并制定监控和告警规则

  2. 通过Grafana,将上报的监控指标整理成可视化监控大盘

  3. 通过消息,邮件,电话的方式上报不同级别的错误告警,及时做好线上问题的跟进

  • 日志

  1. 搭建ELK的系统化日志管理平台,方便追踪和定位线上问题

  • 链路追踪

  1. 通过opentrace搭建部分关键服务间调用的链路追踪,及时关注重要消息的轨迹

  2. 优化业务层消息生命周期数据,完善服务推送消息的链路追踪统计

服务安全改造

国家信通院发布的《云原生安全白皮书》中曾提到:"云原生安全强调安全产品原生化"。即在最大程度利用云厂商的安全能力,提升云原生化服务的安全防护能力。

极光在云原生化服务的过程中,也非常重视安全问题,主要做了以下几点改造:

  • 对API进入极光服务集群的流量,严格执行零信任安全策略,对入网中的一切行为不信任,做到始终验证,持续监测

  • 使用云厂商的DDos防护能力,为线上服务防攻击做好保障

云原生改造实践收获

通过极光服务的云原生化改造的不断推进落地,JPush服务也收获颇丰:

  • 稳定性的持续提升,SLA 持续保持99.9%以上

  • 开发和运维效率的持续提升,可以使用更少的人力维护好更大规模的服务,通过监控告警等可观测能力快速便捷的了解系统实时的运行状态,以及线上问题的及时跟进和修复

  • 更好的关注资源实时使用的情况,及时控制服务成本

未来演进之路

极光推送(JPush),作为国内行业的领导者,也将持续致力于服务好我们的客户。除了继续迭代我们的硬产品能力,我们也还会继续深入的完善服务的云原生化,在服务的易用性、稳定性和效率上做持续的迭代和建设。未来,我们也将在以下几个方面继续努力:

  • 基于云原生技术,搭建更完善的服务管理发布平台,完善好开发和运维工具,更好的提高服务管理运维效率

  • 由于极光消息服务体量较大,我们还会持续优化提升更大量级,更高峰值消息实时推送性能





关于极光

极光(Aurora Mobile,纳斯达克股票代码:JG)成立于2011年,是中国领先的客户互动和营销科技服务商。成立之初,极光专注于为企业提供稳定高效的消息推送服务,凭借先发优势,已经成长为市场份额遥遥领先的移动消息推送服务商。随着企业对客户触达和营销增长需求的不断加强,极光前瞻性地推出了消息云和营销云等解决方案,帮助企业实现多渠道的客户触达和互动需求,以及人工智能和大数据驱动的营销科技应用,助力企业数字化转型。文章来源地址https://www.toymoban.com/news/detail-843354.html

到了这里,关于极光笔记|极光消息推送服务的云原生实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务网格实施周期缩短 50%,丽迅物流基于阿里云 ACK 和 ASM 的云原生应用管理实践

    作者:王夕宁、 刘强、 华相 丽迅物流是百丽旗下专注于时尚产业、为企业提供专业物流及供应链解决方案的服务商。其产品服务主要包括城市落地配、仓配一体、干线运输及定制化解决方案。通过自研智能化物流管理平台,全面助力企业合作集约化发展。目前,丽迅物流已

    2024年02月10日
    浏览(38)
  • 微信小程序云开发通过服务号给用户推送模板消息

    主要参考下面两个文章 1、云函数接收公众号消息推送 | 微信开放社区 ​​​​​​2、微信小程序通过公众号(服务号)推送通知或提醒步骤及代码(一,获取推送前所需信息)_微信小程序推送服务通知_庆登登登的博客-CSDN博客  一些基本的概念就不讲了,这里主要讲下步骤和我

    2024年02月09日
    浏览(43)
  • 某制造企业基于 KubeSphere 的云原生实践

    随着业务升级改造与软件产品专案的增多,常规的物理机和虚拟机方式逐渐暴露出一些问题: 大量服务部署在虚拟机上,资源预估和硬件浪费较大; 大量服务部署在虚拟机上,部署时间和难度较大,自动化程度较低; 开发人员和运维人员,由于开发和部署服务环境不同,服

    2024年02月15日
    浏览(28)
  • 某物联网数智化园区行业基于 KubeSphere 的云原生实践

    作为物联网 + 数智化园区一体化解决方案提供商,我们致力于为大中型园区、停车场提供软硬件平台,帮助园区运营者实现数字化、智能化运营。 在使用 K8s 之前我们使用传统的方式部署上线,使用 spug(一款轻量级无 Agent 的自动化运维平台) 自动化在单节点完成代码部署上

    2024年02月09日
    浏览(33)
  • Spark内容分享(二十七):阿里云基于 Spark 的云原生数据湖分析实践

    目录 Spark 与云原生的结合 1. 传统 Spark 集群的痛点 2. Spark 与云原生结合的优势 Spark on K8s 原理介绍 1. Spark 的集群部署模式 2. Spark on K8s 的部署架构 3. Spark on K8s 部署架构——对比 4. Spark on K8s 社区进展 5. Spark 3.3 新特性介绍 Spark on K8s 在阿里云 EMR 上的实践 1. EMR Spark on ACK 2. 充分

    2024年01月15日
    浏览(83)
  • flutter 极光推送配置流程(极光通道/华为厂商/IOS)

    极光推送配置流程 配置时间 2024年3月11日 应用列表 - 创建应用 Android - 选中消息推送 - 下一步 创建Flutter项目 填写包名 创建完成 运行命令行 flutter pub add jpush_flutter Android - app - build.gradle 更改 JPUSH_APPKEY 的值 工具类注册JPush Android main.dart 运行项目在Android端,有getRegistrationID,则

    2024年04月22日
    浏览(26)
  • 为大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化实践

    作者:张凯 以 GPT(Generative Pre-trained Transformer)和 Diffusion model 为代表的大语言模型(Large language model,LLM)和生成式人工智能(Generative artificial intelligence,GAI)在过往两年,将人们对 AI 的梦想与期待推向了一个新高峰。这一次,AI 带来的“智能”效果和“涌现”能力,吸引

    2024年01月22日
    浏览(38)
  • 微信公众号推送模板消息给用户

    前置条件: 1.公众号为服务号,而非订阅号 2.认证(300元) 3.进入公众号申请模板推送功能 4.添加模板(注意:推送的消息只能使用微信提供的模板,不可自定义,但也是比较全的) 4.2 获取accessToken时,需要将开发环境的电脑ip添加到微信后台的ip白名单(线上环境亦是如此

    2024年02月12日
    浏览(49)
  • 使用GoEasy快速实现Android原生app中的websocket消息推送

    摘要: GoEasy带来了一项令开发者振奋的消息:全面支持Android原生平台!现在,您可以在Android应用中使用最酷炫的实时通信功能,借助GoEasy轻松实现消息的发送和接收。本文将带您领略GoEasy最新版本的威力,为您的应用增添一抹鲜活的互动色彩。 嗨,开发者朋友们!是时候展

    2024年02月12日
    浏览(33)
  • Springboot集成websocket实现消息推送和在线用户统计

    在启动类上添加一个bean 核心代码 实现消息推送只要在业务代码中调用sendMessageSpecial()方法即可。 然后调用刚才的业务接口测试:http://localhost:8080/websocket/t1 调用成功后可以看到三个窗口中都收到了消息

    2023年04月08日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包