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

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

作者: 51reboot | 来源:发表于2018-03-30 11:24 被阅读0次

    主题:某互联网上市公司基于 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 重构

    心得

    报名方式:

    扫码添加小助手微信,备注"公开课,来源简书",进入分享群

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/hnnbcftx.html