天津网站建设noakj,潍坊网站建设定制,直播吧官网,百度云资源搜索引擎入口微服务架构不是免费的午餐 #xff01; 微服务需要解耦#xff0c;灵活#xff0c;操作透明#xff0c;数据感知和弹性。 过去几年的大多数材料仅讨论具有紧密耦合且不可扩展的技术#xff08;如REST / HTTP#xff09;的点对点体系结构。 这篇博客文章介绍了Apache Kafk… 微服务架构不是免费的午餐 微服务需要解耦灵活操作透明数据感知和弹性。 过去几年的大多数材料仅讨论具有紧密耦合且不可扩展的技术如REST / HTTP的点对点体系结构。 这篇博客文章介绍了Apache KafkaKubernetesEnvoyLinkerd和Istio等前沿技术以实现云原生服务网格来解决这些挑战并将微服务提升到规模速度和效率的新水平 。 以下是构建可伸缩可靠健壮和可观察的微服务体系结构的关键要求 在进一步详细介绍之前让我们先看一下关键要点 Apache Kafka解耦服务 包括事件流和 请求-响应 Kubernetes 为 Kafka生态系统提供云原生基础架构 Service Mesh在生态系统/组织范围内帮助提高 安全性和可观察性 特使和 伊斯托Istio 位于 卡夫卡Kafka之上与卡夫卡Kafka所实现的目标正交 以下各节涵盖了有关此问题的更多想法。 博客文章的末尾包含幻灯片和录像带以获取更多详细说明。 微服务服务网格和Apache Kafka Apache Kafka成为事实上的微服务架构标准 。 它远远超出了可靠且可扩展的大容量消息传递。 分布式存储允许独立的微服务之间实现高可用性和真正的解耦。 此外您可以利用Kafka Connect进行集成并利用Kafka Streams API在自治团队中构建轻量级流处理微服务。 服务网格对体系结构进行了补充 。 它描述了组成此类应用程序的微服务网络及其之间的交互。 它的要求可以包括发现负载平衡故障恢复指标和监视。 服务网格通常还具有更复杂的操作要求例如A / B测试金丝雀推出速率限制访问控制和端到端身份验证。 我将探讨分布式微服务通信的问题以及Apache Kafka和Service Mesh解决方案如何解决该问题。 这篇博客文章介绍了将两种方法结合在一起以构建具有可解耦和安全的微服务的可靠且可扩展的微服务体系结构的方法。 讨论和体系结构包括各种开源技术例如Apache KafkaKafka ConnectKubernetesHAProxyEnvoyLinkerD和Istio。 在此有关“微服务Apache Kafka和域驱动设计DDD ”的相关博文中了解有关使用Kafka解耦微服务的更多信息。 使用Kubernetes的Cloud-Native Kafka 云原生基础架构是可扩展的灵活的敏捷的弹性的和自动化的。 Kubernetes获得了出厂标准。 无状态服务的部署非常简单明了。 但是部署有状态的分布式应用程序例如Apache Kafka要困难得多。 需要大量的人工操作。 Kubernetes不会自动解决Kafka特定的挑战例如滚动升级安全性配置或代理之间的数据平衡。 在K8s自定义资源定义CRD中实现的Kafka运算符可以在这里提供帮助 Kubernetes的运营商模式旨在捕捉正在管理一项服务或一组服务的人类运营商的主要目标。 负责特定应用程序和服务的人工操作员对系统应该如何运行如何部署以及在出现问题时如何做出反应具有深入的了解。 在Kubernetes上运行工作负载的人们通常喜欢使用自动化来处理可重复的任务。 Operator模式捕获了如何编写代码以自动化Kubernetes本身提供的功能以外的任务 。 存在用于Kubernetes的Kafka运营商的不同实现方式 融合运营商 IBM / Red Hat的Strimzi Banzai Cloud 。 在这里我不会详细介绍K8s Kafka操作员的特性和优势。 我已经在另一篇博客文章中对此进行了详细说明下面的视频还将讨论该主题 使用EnvoyLinkerd或Istio等基于Kubernetes的技术进行服务网格 服务网格是一种微服务模式用于将可见性可靠性和安全性原语用于服务到服务的通信移至基础结构层而不是应用程序层。 可以在此处找到有关设计模式“服务网格”的详细说明包括下图该图显示了控制平面与带有代理人小车的微服务之间的关系 您可以从Envoy或Linkerd之类的框架的创建者那里找到有关服务网格概念及其实现的更多精彩内容。 请查看这两个链接或者只是使用Google来获得有关竞争替代品及其权衡的更多信息。 Apache Kafka和Service Mesh的潜在功能 诸如Apache Kafka之类的事件流平台和Kubernetes之上的服务网格是云原生的正交的和互补的 。 他们共同解决了构建可扩展可靠健壮和可观察的微服务体系结构的关键要求 如今公司已经将Kafka与诸如EnvoyLinkerd或Istio之类的服务网格实现一起使用 。 您可以轻松地将它们组合在一起以增加安全性实施速率限制或实施其他相关用例。 Banzai Cloud发布了最有趣的架构之一他们使用Istio通过使用Envoy的代理为Kafka Brokers和ZooKeeper添加安全性 。 但是与此同时支持变得更好 Envoy中对Kafka支持的拉取请求于2019年5月合并。 这意味着您现在在Envoy中具有本机Kafka协议支持 。 关于其挑战和实现Kafka协议过滤器的潜在功能的非常有趣的讨论也值得一读。 借助本机Kafka协议支持您可以执行除L4 TCP过滤之外的更多有趣的事情。 以下是一些想法部分来自于Github讨论关于在Service Mesh中使用L7 Kafka协议支持可以做什么 点击功能以转储到Kafka流 协议解析以实现可观察性使用HTTP RPC进行统计日志记录和跟踪链接 对Kafka流的影子请求而不是HTTP / gRPC影子 与Kafka Connect及其连接器的整个生态系统集成 动态路由 L4连接和L7消息级别的速率限制 过滤添加压缩… 自动主题名称转换例如用于金丝雀发布或蓝色/绿色部署 请求日志和统计信息 数据沿袭/审核日志 通过获取请求日志并用用户信息丰富它们来审核日志。 客户特定指标每个客户ID /每个客户组的字节速率客户库的版本整个数据中心的客户滞后监控 SSL终止 相互TLSmTLS 授权书 序列化格式JSONAvroProtobuf等 讯息模式 标头属性等 太棒了不是吗 微服务Kafka和服务网格–幻灯片和视频录制 让我们看一下我的幻灯片和视频记录以更详细地了解使用Apache Kafka其生态系统Kubernetes和Service Mesh技术构建Service Mesh的需求挑战和机遇… 这是幻灯片平台 来自KaiWähner的 Apache KafkaKubernetesEnvoyIstio和Linkerd的Service Mesh 来自KaiWähner的 Apache KafkaKubernetesEnvoyIstio和Linkerd的Service Mesh 录像带您浏览幻灯片 有任何想法或反馈吗 请通过评论或推文让我知道或者在LinkedIn上建立联系。 翻译自: https://www.javacodegeeks.com/2019/09/service-mesh-cloud-native-microservices-apache-kafka-kubernetes-envoy.html