公开课总结|某互联网上市公司基于 Golang 的运维基础框架

主题:某互联网上市公司基于 Golang 的运维基础框架

目录

  • 服务器监控系统
  • 自动化部署系统
    • 功能展示
    • 高可用控制系统的演化
    • 高可用调度系统
  • 资源定位系统
    • 整体架构
    • 强一致,高可用设计
  • 一点儿心得

主讲师:PC

  • 2012年接触比特币,炒币、挖矿、量化、做市场
  • 豆瓣、百度、360、第四范式
  • 知乎《面向工资编程》
  • 投身区块链基础设施创业

视频

链接:
https://pan.baidu.com/s/1KRWibJP8i-s9SJtjKXq_tQ
密码:fcx3

Overview

监控系统

自动化部署系统


标准化的上线包,流程化的上线系统

  • Function Points

  • 面向服务上线

  • 一键部署及回滚

  • 详细的部署统计信息和历史

  • Window/Linux 全平台支持

控制系统

进化

整体架构

分层原则

在系统实现第一期,只有 Agent 和“分布式控制器”,后续为了支持“定时任务”、“任务依赖”。诞生出了更为上层的“分布式调度器”。这两层系统实现的语言和高可用的考虑都不一样,但还是如下原则:

  • 数据、业务逻辑严格分离。所有服务”无状态化”,保证数据一致性和高可用。

  • 业务逻辑和数据操作、网络操作代码严格分层实现。

控制系统 v2

长连接推送

Tech Points

  • 分布式一致性算法

  • 使用 Erlang/OTP 开发,连续四年不间断运行无故障

  • 高可用设计、99.999% 高可用保障

  • 平台化、插件化

调度

处理复杂任务依赖、调度

Tech Points

  • 分布式高可用调度算法

  • 任务依赖&定时模型

  • Powered by Golang

  • 长连接,HTTP接口

资源定位

解耦、定位上下游

client

Access Method

Confd——长连接、推送修改配置文件、自定义reload脚本

SOA——主要面向Java,以SDK提供,zookeeper接口形式接入

DNSd——Golang;Glibc Name Service Switch

API——Zookeeper兼容接口,HTTP接口、ProtoBuf接口

sever

Tech Points

  • Raft 分布式一致性算法,强一致性保证,高可用保证,放弃分区容忍性

  • LevelDB 持久化,LSM tree,每次启动时载入

  • Powered by C++,预备用 Golang 重构

心得

报名方式:

扫码添加小助手微信,备注"公开课,来源简书",进入分享群
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,212评论 19 139
  • 138 20180320 戊戌二月初四 周二 雨 今日读经:父母规60/100 上经 27分钟,大宝读经法 易经累...
    宜人安心阅读 1,558评论 0 1
  • 本来以为我这种文学白痴不会来干这种事的,我写的东西就是水仗,没有什么优美的句子,什么鸡汤,单纯就是讲故事。但是上了...
    叫我哎呀阅读 1,594评论 0 0
  • 这是Python装饰器讲解的第二部分,上一篇:Python装饰器Part I:装饰器简介 回顾:不带参数的装饰器 ...
    TypingQuietly阅读 6,833评论 5 28
  • 冬雨凄凄 行人碌碌 向苍天破吼 可曾听到我的呼唤 松树青青 老人垂垂 向大地叹息 可曾为我浅唱青春之歌 苍天怜悯幽...
    卡卡锅阅读 1,652评论 0 5

友情链接更多精彩内容