明晚九点|某互联网上市公司基于 Golang 的运维基础框架

Posted 51reboot运维开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了明晚九点|某互联网上市公司基于 Golang 的运维基础框架相关的知识,希望对你有一定的参考价值。

你不一定要点蓝字关注我的

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


目录

  • 服务器监控系统

  • 自动化部署系统

    • 功能展示

    • 高可用控制系统的演化

    • 高可用调度系统

  • 资源定位系统

    • 整体架构

    • 强一致,高可用设计

  • 一点儿心得


主讲师:PC


  • 2012年接触比特币,炒币、挖矿、量化、做市场

  • 豆瓣、百度、360、第四范式

  • 知乎《面向工资编程》

  • 投身区块链基础设施创业


Overview


明晚九点|某互联网上市公司基于 Golang 的运维基础框架


监控系统


明晚九点|某互联网上市公司基于 Golang 的运维基础框架


自动化部署系统


明晚九点|某互联网上市公司基于 Golang 的运维基础框架

明晚九点|某互联网上市公司基于 Golang 的运维基础框架


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


  • Function  Points

  • 面向服务上线

  • 一键部署及回滚

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

  • Window/Linux 全平台支持


控制系统


明晚九点|某互联网上市公司基于 Golang 的运维基础框架

  • memcached架构的全异步非阻塞多线程模 https://github.com/auxten/gko_pool

  • 内置特别优化过的内存池实现, https://github.com/auxten/gkoAlloc

  • 异步 DNS 查询、DNS over TÇP,cares + libev。从 gevent 学来的。

  • 高性能客户端编程:端口扫描、DDoS 攻击……

明晚九点|某互联网上市公司基于 Golang 的运维基础框架

进化


整体架构

明晚九点|某互联网上市公司基于 Golang 的运维基础框架


分层原则


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


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

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


控制系统 v2


长连接推送

明晚九点|某互联网上市公司基于 Golang 的运维基础框架



Tech Points

  • 分布式一致性算法

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

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

  • 平台化、插件化


调度

处理复杂任务依赖、调度

明晚九点|某互联网上市公司基于 Golang 的运维基础框架

Tech Points

  • 分布式高可用调度算法

  • 任务依赖&定时模型

  • Powered by Golang

  • 长连接,HTTP接口


资源定位


解耦、定位上下游

明晚九点|某互联网上市公司基于 Golang 的运维基础框架


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 的运维基础框架

明晚九点|某互联网上市公司基于 Golang 的运维基础框架
明晚九点|某互联网上市公司基于 Golang 的运维基础框架
明晚九点|某互联网上市公司基于 Golang 的运维基础框架

报名方式

分享时间:18年3月29日(周四)

21:00-22:00

分享方式:网络直播

报名方式:

1、扫码添加小助手微信,备注"公开课",进入分享群

明晚九点|某互联网上市公司基于 Golang 的运维基础框架

详情点击【阅读原文】即可跳转

以上是关于明晚九点|某互联网上市公司基于 Golang 的运维基础框架的主要内容,如果未能解决你的问题,请参考以下文章

明晚九点|一线互联网公司服务器监控系统架构分享

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

明晚九点|细说 Django — web 前后端分离

明晚九点|Flask 基础与 Web 开发实战

明晚九点|SQL 上线平台

明晚九点|MySQL 自动化运维工具 Inception