我们将围绕分布式、微服务、容器云和开源项目展开深入交流和实践,帮助更多中小企业部署这样的基础设施,提供相关的咨询、培训、教育等服务。
这里我们不讨论类似OpenStack这样支持100万物理机和1000万核的大型公有云开源基础设施解决方案,因为众多的中小企业都不需要这样的超大规模和伸缩性。
如果你对OpenStack很感兴趣,可参考灰狐百科。
Apache Mesos 是一个分布式、集群管理系统和框架,被称为是分布式系统的内核。
- 2010年12月,Mesos 进入了Apache孵化项目。
- 2013年6月,Mesos成功从Apache孵化项目毕业,成为顶级项目。
- 2013.04,一些在Twitter和Airbnb中使用Mesos的工程师们一起创建了Mesosphere。
- 2015.08,Verizon 成功演示了在90秒内使用Mesos和Mesosphere的Marathon框架启动 50,000 个容器。
- 2018.05,Mesosphere获得1.25亿美金的D轮投资。
Mesos是分布式操作系统内核,Mesos是以与Linux内核同样的原则而创建的,不同点仅仅是在于抽象的层面。Mesos内核运行在每一个机器上,同时通过 API 为各种应用提供跨数据中心和云的资源管理调度能力。这些应用包括Hadoop、Spark、Kafka、Elasticsearch。还可配合框架 Marathon 来管理大规模的Docker等容器化应用。
Mesos特性:
- 可扩展到10000个节点;
- 使用 ZooKeeper 实现 Master 和 Slave 的容错;
- 支持 Kubernetes 集群和 Docker 容器;
- 使用 Linux 容器实现本地任务隔离;
- 多资源调度能力(内存,CPU、磁盘、端口);
- 提供 Java,Python,C++等多种语言 APIs;
- 通过 Web 界面查看集群状态;
- 新版本将支持更多功能。
Apple、Cisco、eBay、PayPal、Netflix、Twitter、Uber、Airbnb、豆瓣、微博、小米、今日头条都是Mesos用户。
更多信息可访问:Mesos ecosystem
除了主流的Spring Cloud和Apache Dubbo这样的常见Microservices和RPC项目,还有类似 Envoy、Istio、Apache ServiceComb的项目大家也可更多关注下。
一个微服务架构参考技术栈
主要包含 11 大核心组件,分别是:
核心支撑组件
- 服务网关 Zuul
- 服务注册发现 Eureka + Ribbon
- 服务配置中心 Apollo
- 认证授权中心 Spring Security OAuth2
- 服务框架 Spring MVC/Spring Boot
监控反馈组件
微服务架构集大成者,云计算最佳业务实践。
这是一个全家桶,集成了很多东西,大家做微服务基本第一反应就是它,这也是它非常成功的地方。
Apache Dubbo 是一款高性能Java RPC框架,目前正在Apache基金会孵化。
Dubbo 未来的定位并不是要成为一个微服务的全面解决方案,而是专注在 RPC 领域,成为微服务生态体系中的一个重要组件。
三大核心能力:
- 面向接口的远程方法调用;
- 智能容错和负载均衡;
- 服务自动注册和发现。
Rancher是一个开源的可用于生产环境的企业级Kubernetes平台。通过Rancher,企业不必利用一系列的开源软件去从头搭建自己的容器服务平台。Rancher提供了在生产环境中使用的全栈化容器部署与管理平台。
- 应用负载管理:用户界面,应用商店,CI/CD,监控,日志收集
- 统一集群管理:配置,认证,RBAC,策略,安全,容量,成本
Rancher是全球唯一提供Kubernetes、Mesos和Swarm三种调度工具的企业级分发版和商业技术支持的容器管理平台。
通过Rancher,企业不必利用一系列的开源软件去从头搭建自己的容器服务平台。Rancher提供了在生产环境中使用的全栈化容器部署与管理平台。
Rancher由以下四个部分组成:
- 基础设施编排
- 容器编排与调度
- 应用商店
- 企业级权限管理
Rancher是我们重点推荐的企业级Kubernetes平台。
OpenShift 是 Red Hat 推出的 Platform as a Service (PaaS) 开源云平台。
OpenShift 3 使用 Docker 和 Kubernetes 帮助用户构建、部署和管理他们的应用。
产品形态
- OpenShift Origin(OKD):开源云PaaS
- OpenShift Online:公有云PaaS
- OpenShift Enterprise:私有云PaaS
OpenShift功能和优势:
- 开源技术:结合 docker 格式 Linux 容器、Kubernetes 及 其 他 开 源 技 术 ,帮 助 用 户 摆 脱 特定供应商技术锁定或业务规划束缚。
- 自助服务配置:开发人员可直接通过最常用的工具,轻松、快速、按需创建各种应用,同时还能让运营团队全面控制整个环境。
- 持久存储:红帽 OpenShift 容器平台支持持久存储,允许用户同时运行有状态的应用和无状态的云原生应用。
- 多语种支持:开发人员可轻松地在同一平台使用多种语言、框架和数据库工作。
- 自动化:红帽 OpenShift 容器平台自带多种功能,包括经过简化且可自动实施的应用构建、部署、扩展、运行状况管理等。
- 用户界面:开发人员可直接访问多种命令行工具、多设备 Web 控制台和基于 Eclipse 的整合开发环境(如红帽 JBoss®开发 人员工作室)。
- 运营管理:该产品所含的红帽 CloudForms 让用户能够实时了解单个容器和整个基础架构的运行情况。
- 深化协作:OpenShift 允许运营和开发人员在同一平台上使用各种容器,实现深入合作。
- 可扩展性:在 OpenShift 上运行的应用,可在数秒内轻松地扩展到数百个节点上的数千个实例中。
- 强大的生态系统:红帽的合作伙伴生态系统持续扩展,旨在为用户提供广泛多样集成。该系统中的第三方合作伙伴可提供额外的存储和网络提供商、集成开发环境 (IDE) 和 CI 整合、独立软件 供 应 商 (ISV) 解决方案等,均可以和 OpenShift 搭配使用。
- 容器可移植性:基于红帽应用编程接口 (API) 支持的、标准化 Linux 容 器 模 型构建。让 所有基于 OpenShift 上创建的应用都能在支持 docker 格式容器的任意环境中轻松运行。
- 自由选择云架构:按照您的特定需求,选择在物理或虚拟、公共、私有甚至混合云基础架构上运行应用。
用户可基于OpenShift快速构建自己的DevOps & PaaS基础设施。
更多OpenShift细节可访问:灰狐百科
- Mesos,数据中心操作系统的核心
- RESTful Microservices
- Microservices for the IoT
- 基于连接与组合的微服务架构剖析
- 使⽤微服务架构改造企业核⼼业务系统的实践
- 平台即服务、DevOps和应用集成:加速交付应用新途径
- OpenShift 3 Technical Architecture
- OpenShift 3 and The Next Generation of PaaS
- Using OpenShift & PaaS to accelerate DevOps & Continuous Delivery
课程和课件采用CC
代码采用Apache v2
本服务教程为免费教程,若需要得到更多技术支持,可通过赞助我们的方式获得,谢谢。