zoukankan      html  css  js  c++  java
  • 从部署和运维说说DLI(1)

    DLI是支持多模引擎的Serverless大数据计算服务,其很好的实现了Serverless的特性:
     
    1. 弱化了存储和计算之间的联系;
    2. 代码的执行不再需要手动分配资源;
    3. 按使用量计费。
     
    那么如何才能更好的实现Serverless化的服务,同时又避免成为传统单体分布式的应用?微服务架构无疑是最优的选择。DLI基于微服务架构模式下的整体部署架构如下:
    即对外以纯API形式提供服务,通过以APIGateway作为应用的入口,基于领域模型按子域进行微服务划分,从而实现Serverless化的大数据计算服务。
    那么对于这样的一个基于微服务架构实现的Serverless服务,我们是如何在生产环境来部署与运维,从而在保证服务SLA的前提下实现快速迭代上线的呢?
    随着技术的发展,部署的流程和架构都发生了根本性的变化,如今已经走入了轻量级、短生命周期的技术时代。
    从最初部署在物理机上的大数据计算平台,到基于公有云的弹性计算云服务器部署大数据平台,再到DLI这样的Serverless服务,其很好展现了大数据计算服务的演变。那么如何才能更好的实现Serverless化的大数据计算服务的部署呢,DLI的答案就是基于Kubernetes+Docker来部署各微服务。
     
    Kubernetes部署是在不停机的情况下部署服务的好方法,但是如何应对在接收生产流量后出现的错误,使新版本的服务更可靠呢?这可以通过将问题一分为二来看:
     
    1. 部署,即将服务上线到生产环境中运行;
    2. 发布,即使服务可用于处理生产流量。
    传统上,分离部署流程与发布流程一直是一个挑战。但现在我们有了很好的选择,那就是基于服务网格。在DLI的部署中我们结合了Kubernetes+Istio,利用Istio的流量管理实现了服务发现、流量路由,从而轻松的将部署与发布分开,使新版本的服务更加可靠。
     
     
  • 相关阅读:
    sprintf与snprintf
    风雨20年:我所积累的20条编程经验
    istream_iterator, ostream_iterator,copy以及文件序列化
    [转载]关于C++,我觉得好的设计法则
    如何高效地管理时间
    B站上适合程序员的学习资源【赶紧收藏!】
    Redis和Memcached的区别
    Swoole的多进程模块
    Mac OS 查看 ip 地址及 DHCP 各 addr 含义
    mac将phpstorm 从主屏移动到副显示器(解决)
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/12910753.html
Copyright © 2011-2022 走看看