小贴士

Gorouter

项目地址:https://github.com/cloudfoundry/gorouter/Gorouter来源于CloudFoundry。是一个高性能、轻量级的路由器及负载,它是整个平台的流量入口,负责分发所有的http请求到对应的instance。它在内存中维护了一张路由表,记录了域名与实例的对应关系,所谓的实例自动迁移,靠得就是这张路由表,某实例宕掉了,就从路由表中剔除,新实例创建了,就加入路由表。

Gnatsd

Gnatsd来源cloudfoundry,是一个开源轻量高性能的消息系统,gorouter依赖它来作为消息系统,进行PUB/SUB操作。

官方地址:http://nats.io/

项目地址:https://github.com/apcera/gnatsd

Confd

Confd是一个轻量级的配置管理工具。通过查询Etcd,结合配置模板引擎,保持本地配置最新,同时具备定期探测机制,配置变更自动reload。其后端支持的数据类型有:etcd、consul、vault、environment variables、redis、zookeeper、dynamodb、stackengine、rancher。不过一般使用Confd和etcd的配合使用比较多。

项目地址:https://github.com/kelseyhightower/confd

HAProxy

HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy的社区非常活跃,版本更新快速,最关键的是,HAProxy具备媲美商用负载均衡器的性能和稳定性。

项目地址:https://github.com/haproxy/haproxy

etcd

etcd是Go编写,是一个分布式一致性键值存储系统,用于共享配置和服务发现,专注于:· 简单:良好定义的,面向用户的API (gRPC)。· 安全:带有可选客户端证书认证的自动TLS。· 快速:测试验证,每秒10000写入。· 可靠:使用Raft适当分布。项目地址:https://github.com/etcd-io/etcd

今天简单分享下公司大规模容器应用中的数据流架构。

我们公司项目都是采用微服务架构设计,现服务对外访问支持两种模式如下:

  1. 使用的NodePort方式暴露应用端口至宿主机,上层通过配置nginx代理到这台机器的端口,然后外网SLB在代理这个nginx。这种模式下带来了一个麻烦,就是每次新上个应用都得去配置Nginx。

    容器云架构中使用gorouter+haproxy作为流量入口的更多相关文章

    1. 【原创译文】基于Docker和Rancher的超融合容器云架构

      基于Docker和Rancher的超融合容器云架构 ---来自Rancher和Redapt 超融合架构在现代数据中心是一项巨大的变革.Nutanix公司发明了超融合架构理论,自从我听说他们的“iPho ...

    2. 【云计算】IBM开放云架构

      IBM 的开放云架构 通过改变业务和社会运行的方式,云计算开启了丰富的创新途径.开发人员现在正将记录系统与参与性系统相结合,一种新的基于云的应用程序风格正在出现:交互系统.这些应用程序要可持续发展,云 ...

    3. 【原创】基于Docker的CaaS容器云平台架构设计及市场分析

      基于Docker的CaaS容器云平台架构设计及市场分析 ---转载请注明出处,多谢!--- 1 项目背景---概述: “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交 ...

    4. 微服务与K8S容器云平台架构

      微服务与K8S容器云平台架构 微服务与12要素 网络 日志收集 服务网关 服务注册 服务治理- java agent 监控 今天先到这儿,希望对技术领导力, 企业管理,系统架构设计与评估,团队管理, ...

    5. 【转帖】一文看懂docker容器技术架构及其中的各个模块

      一文看懂docker容器技术架构及其中的各个模块 原创 波波说运维 2019-09-29 00:01:00 https://www.toutiao.com/a6740234030798602763/ ...

    6. 【容器云】传统金融企业的 Docker 实践

      基于 Docker 的容器云-Padis 目前市面上基于容器云的产品有很多,对于平安而言,则是基于 Docker 的 Padis 平台.所谓 Padis,全称是 PingAn Distribution ...

    7. Kubernetes+Docker+Istio 容器云实践

      随着社会的进步与技术的发展,人们对资源的高效利用有了更为迫切的需求.近年来,互联网.移动互联网的高速发展与成熟,大应用的微服务化也引起了企业的热情关注,而基于Kubernetes+Docker的容器云 ...

    8. Chris Richardson微服务翻译:微服务架构中的服务发现

      Chris Richardson 微服务系列翻译全7篇链接: 微服务介绍 构建微服务之使用API网关 构建微服务之微服务架构的进程通讯 微服务架构中的服务发现(本文) 微服务之事件驱动的数据管理 微服 ...

    9. 容器云技术选择之kubernetes和swarm对比

      swarm和k8s本质都是容器编排服务.它们都能把底层的宿主机抽象化,然后将应用从以构建好的镜像开始,最终以docker的方式部署到宿主机上.   应该选择哪种方案作为我们的容器云服务呢? 我觉得k8 ...

    随机推荐

    1. 「JOISC 2017 Day 3」幽深府邸

      题解: 和hnoi2018day2t1基本一样 我想了半小时想出了一个很麻烦的做法 写了之后发现假掉了 刚开始想的是 先预处理出每个门要打开至少要在左边的哪个点$L[]$,右边的哪个点$R[]$ 对每 ...

    2. C# Post方式下,取得其它端传过来的数据

      // Post方式下,取得java端传过来的数据 if ("post".Equals(context.Request.HttpMethod.ToLower())) { contex ...

    3. .net core 2.x - ids4 - identity - two factory 登录认证

      本片内容使用到ids4+ids4.Entityframework持久化表单,以及core的identity相关表的一并持久化,然后就是登录认证,认证使用email发送邮件的方式.所以这里涉及到四块内容 ...

    4. ASP.NET Core MVC 授权的扩展:自定义 Authorize Attribute 和 IApplicationModelProvide

      一.概述 ASP.NET Core MVC 提供了基于角色( Role ).声明( Chaim ) 和策略 ( Policy ) 等的授权方式.在实际应用中,可能采用部门( Department , ...

    5. 3d-tiles、gltf 坐标系

      gltf 为 y 轴向上的右手坐标系 3d-tiles 为 z 轴向上的右手坐标系

    6. tarjin求割点

      题目: hdu3671 http://acm.hdu.edu.cn/showproblem.php?pid=3671 题意:给一个无向图,要求毁掉两个点,使图变得不连通,图一开始是连通的 因为要毁掉两 ...

    7. C++ 使用 curl 进行 http 请求(GET、POST、Download)的封装

      修改自网路 CommonTools.h /* * CommonTools.h * * Created on: 2018年8月2日 * Author: didi */ #include <iost ...

    8. jQuery AJAX相关方法

      接jQuery学习上篇.因为AJAX是相对独立的一块,所以和jQuery的随笔分开记录了.素材同样来自runoob. 先了解下什么是AJAX. AJAX = 异步 JavaScript 和 XML(A ...

    9. 【C语言编程练习】5.9 爱因斯坦的阶梯问题

      1. 题目要求 有一个长阶梯,每2步上,最后剩1个台阶,若每3步上,最后剩2个台阶.若每5步上,最后剩4个台阶,若每6步上,最后剩5个台阶.只有每步上7阶,才可以刚好走完,请问台阶至少有多少阶? 2. ...

    10. 一小时学会ECMAScript6新特性(一)

      ECMAScript 简介 简称es,是一套标准,javascript就是使用这套标准的语言.主流的浏览器使用的是ECAMScript5,ECAMScript6(ECAMScript2015)是一涛新 ...