首页 > 其他分享 >Linkerd 的未来趋势: 如何适应变化

Linkerd 的未来趋势: 如何适应变化

时间:2023-12-31 14:04:46浏览次数:48  
标签:负载 服务 https Kubernetes 适应 io Linkerd 趋势


1.背景介绍

随着微服务架构的普及,服务间的通信变得越来越复杂。Linkerd 作为一款高性能的服务网格,为 Kubernetes 提供了一种新的方法来解决这些问题。在这篇文章中,我们将探讨 Linkerd 的未来趋势,以及如何适应这些变化。

1.1 微服务架构的挑战

微服务架构的核心思想是将应用程序拆分成多个小的服务,这些服务可以独立部署和扩展。虽然这种架构带来了许多好处,如提高了灵活性和可扩展性,但同时也带来了一系列新的挑战。

1.1.1 服务发现

在微服务架构中,服务之间需要在运行时动态地发现和调用。这需要一种机制来实现服务之间的发现,以及一种协议来实现服务之间的通信。

1.1.2 负载均衡

随着服务数量的增加,单个服务的负载也会增加。为了确保系统的高可用性和性能,需要一种机制来实现服务之间的负载均衡。

1.1.3 故障检测和恢复

在微服务架构中,单个服务的故障可能会导致整个系统的故障。因此,需要一种机制来检测和恢复服务的故障。

1.1.4 安全性和身份验证

在微服务架构中,服务之间的通信需要进行身份验证和授权。这需要一种机制来实现服务之间的安全通信。

1.2 Linkerd 的出现

Linkerd 是一款开源的服务网格,它为 Kubernetes 提供了一种新的方法来解决微服务架构中的挑战。Linkerd 的核心功能包括:

  • 服务发现
  • 负载均衡
  • 故障检测和恢复
  • 安全性和身份验证

Linkerd 使用 Rust 编程语言编写,具有高性能和高可靠性。它可以与 Kubernetes 紧密集成,并且可以无缝地集成到现有的微服务架构中。

1.3 Linkerd 的核心概念

Linkerd 的核心概念包括:

  • 服务代理:Linkerd 使用服务代理来实现服务之间的通信。服务代理负责将请求路由到目标服务,并处理服务之间的故障检测和恢复。
  • 路由:Linkerd 使用路由来实现服务发现和负载均衡。路由可以基于一些条件,例如服务的名称、端口号等,来匹配请求。
  • 策略:Linkerd 使用策略来实现服务之间的安全通信。策略可以基于一些条件,例如服务的身份验证和授权,来控制服务之间的通信。

1.4 Linkerd 的核心算法原理

Linkerd 的核心算法原理包括:

  • 服务发现:Linkerd 使用 Kubernetes 的服务发现机制,并且可以通过配置文件来实现自定义服务发现。
  • 负载均衡:Linkerd 使用一种称为“智能负载均衡”的算法,根据服务的性能和可用性来实现负载均衡。
  • 故障检测和恢复:Linkerd 使用一种称为“流量分割”的技术,来实现故障检测和恢复。流量分割可以将请求分布到多个服务实例上,并且可以根据服务的性能和可用性来调整分布。
  • 安全性和身份验证:Linkerd 使用一种称为“服务网格身份验证”的技术,来实现服务之间的安全通信。服务网格身份验证可以基于一些条件,例如服务的身份验证和授权,来控制服务之间的通信。

1.5 Linkerd 的具体代码实例

在这个仓库中,可以找到 Linkerd 的源代码、文档和示例。以下是一个简单的示例,展示了如何使用 Linkerd 实现服务发现和负载均衡:

apiVersion: linkerd.io/v1alpha2
kind: ServiceEntry
metadata:
  name: example-service
spec:
  hosts:
  - example.com
  ports:
  - number: 80
    name: http
  location: my-namespace
---
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  ports:
  - port: 80
    targetPort: 8080
  selector:
    app: my-app

在这个示例中,我们首先定义了一个 ServiceEntry 资源,用于实现服务发现。然后我们定义了一个 Service 资源,用于实现负载均衡。

1.6 Linkerd 的未来发展趋势与挑战

Linkerd 的未来发展趋势与挑战包括:

  • 更高性能:Linkerd 需要继续优化其性能,以满足微服务架构中的需求。
  • 更好的集成:Linkerd 需要继续提高其与 Kubernetes 和其他工具的集成性。
  • 更多的功能:Linkerd 需要继续扩展其功能,以满足微服务架构中的需求。
  • 更好的文档和示例:Linkerd 需要继续提高其文档和示例的质量,以帮助用户更好地理解和使用 Linkerd。

2.核心概念与联系

在本节中,我们将深入探讨 Linkerd 的核心概念,并且讲解它们之间的联系。

2.1 服务代理

服务代理是 Linkerd 中的一个核心概念,它负责实现服务之间的通信。服务代理可以将请求路由到目标服务,并处理服务之间的故障检测和恢复。

服务代理可以通过以下方式实现:

  • 使用 Sidecar 模式:在每个服务实例旁边运行一个服务代理实例,这些实例与服务实例共享网络 namespace。
  • 使用 Inline 模式:将服务代理的逻辑嵌入到服务实例中,这样服务实例就可以直接处理服务之间的通信。

2.2 路由

路由是 Linkerd 中的一个核心概念,它用于实现服务发现和负载均衡。路由可以基于一些条件,例如服务的名称、端口号等,来匹配请求。

路由可以通过以下方式实现:

  • 使用 ServiceEntry 资源:定义一个 ServiceEntry 资源,用于实现服务发现。然后使用 Service 资源来实现负载均衡。
  • 使用 VirtualService 资源:定义一个 VirtualService 资源,用于实现服务发现和负载均衡。

2.3 策略

策略是 Linkerd 中的一个核心概念,它用于实现服务之间的安全通信。策略可以基于一些条件,例如服务的身份验证和授权,来控制服务之间的通信。

策略可以通过以下方式实现:

  • 使用 MeshAuth 资源:定义一个 MeshAuth 资源,用于实现服务之间的身份验证和授权。
  • 使用 AccessLog 资源:定义一个 AccessLog 资源,用于实现服务之间的访问日志记录。

2.4 联系

Linkerd 的核心概念之间有一些联系:

  • 服务代理、路由和策略都是 Linkerd 中的核心概念,它们共同实现了服务网格的功能。
  • 服务代理负责实现服务之间的通信,路由负责实现服务发现和负载均衡,策略负责实现服务之间的安全通信。
  • 服务代理、路由和策略可以通过不同的资源来实现,例如 Sidecar、ServiceEntry、VirtualService、Service、MeshAuth 和 AccessLog。

3.核心算法原理和具体操作步骤以及数学模型公式详细讲解

在本节中,我们将深入讲解 Linkerd 的核心算法原理、具体操作步骤以及数学模型公式。

3.1 服务发现

服务发现是 Linkerd 中的一个核心功能,它用于实现服务之间的通信。服务发现可以通过以下方式实现:

  • 使用 Kubernetes 的服务发现机制:Linkerd 可以使用 Kubernetes 的服务发现机制,并且可以通过配置文件来实现自定义服务发现。
  • 使用 ServiceEntry 资源:定义一个 ServiceEntry 资源,用于实现服务发现。然后使用 Service 资源来实现负载均衡。
  • 使用 VirtualService 资源:定义一个 VirtualService 资源,用于实现服务发现和负载均衡。

3.2 负载均衡

负载均衡是 Linkerd 中的一个核心功能,它用于实现服务之间的通信。负载均衡可以通过以下方式实现:

  • 使用 Kubernetes 的负载均衡机制:Linkerd 可以使用 Kubernetes 的负载均衡机制,并且可以通过配置文件来实现自定义负载均衡。
  • 使用 Service 资源:定义一个 Service 资源,用于实现负载均衡。
  • 使用 VirtualService 资源:定义一个 VirtualService 资源,用于实现服务发现和负载均衡。

3.3 故障检测和恢复

故障检测和恢复是 Linkerd 中的一个核心功能,它用于实现服务之间的通信。故障检测和恢复可以通过以下方式实现:

  • 使用 Kubernetes 的故障检测机制:Linkerd 可以使用 Kubernetes 的故障检测机制,并且可以通过配置文件来实现自定义故障检测和恢复。
  • 使用 Sidecar 模式:在每个服务实例旁边运行一个服务代理实例,这些实例与服务实例共享网络 namespace。
  • 使用 Inline 模式:将服务代理的逻辑嵌入到服务实例中,这样服务实例就可以直接处理服务之间的通信。

3.4 安全性和身份验证

安全性和身份验证是 Linkerd 中的一个核心功能,它用于实现服务之间的通信。安全性和身份验证可以通过以下方式实现:

  • 使用 Kubernetes 的身份验证机制:Linkerd 可以使用 Kubernetes 的身份验证机制,并且可以通过配置文件来实现自定义身份验证和授权。
  • 使用 MeshAuth 资源:定义一个 MeshAuth 资源,用于实现服务之间的身份验证和授权。
  • 使用 AccessLog 资源:定义一个 AccessLog 资源,用于实现服务之间的访问日志记录。

3.5 数学模型公式

Linkerd 的核心算法原理可以通过以下数学模型公式来描述:

  • 服务发现:使用 Kubernetes 的服务发现机制,可以通过以下公式来实现服务发现:
    $$ S = K_{S} \times D $$
    其中,$S$ 表示服务发现结果,$K_{S}$ 表示 Kubernetes 的服务发现机制,$D$ 表示自定义服务发现配置。
  • 负载均衡:使用 Kubernetes 的负载均衡机制,可以通过以下公式来实现负载均衡:
    $$ L = K_{L} \times W $$
    其中,$L$ 表示负载均衡结果,$K_{L}$ 表示 Kubernetes 的负载均衡机制,$W$ 表示自定义负载均衡配置。
  • 故障检测和恢复:使用 Kubernetes 的故障检测机制,可以通过以下公式来实现故障检测和恢复:
    $$ F = K_{F} \times R $$
    其中,$F$ 表示故障检测和恢复结果,$K_{F}$ 表示 Kubernetes 的故障检测机制,$R$ 表示自定义故障检测和恢复配置。
  • 安全性和身份验证:使用 Kubernetes 的身份验证机制,可以通过以下公式来实现安全性和身份验证:
    $$ A = K_{A} \times V $$
    其中,$A$ 表示安全性和身份验证结果,$K_{A}$ 表示 Kubernetes 的身份验证机制,$V$ 表示自定义身份验证和授权配置。

4.具体代码实例和详细解释说明

在本节中,我们将通过一个具体的代码实例来详细解释 Linkerd 的使用方法。

4.1 示例

假设我们有一个名为 my-service 的微服务应用程序,它由两个服务实例组成:my-service-1my-service-2。我们想要使用 Linkerd 实现服务发现和负载均衡。

首先,我们需要定义一个 ServiceEntry 资源,用于实现服务发现:

apiVersion: linkerd.io/v1alpha2
kind: ServiceEntry
metadata:
  name: my-service
spec:
  hosts:
  - example.com
  ports:
  - number: 80
    name: http
  location: my-namespace

接下来,我们需要定义一个 Service 资源,用于实现负载均衡:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  ports:
  - port: 80
    targetPort: 8080
  selector:
    app: my-app

最后,我们需要在 Kubernetes 集群中部署这两个资源:

kubectl apply -f service-entry.yaml
kubectl apply -f service.yaml

通过这样做,我们就可以实现 my-service 的服务发现和负载均衡。当其他服务尝试访问 my-service 时,Linkerd 会根据 Service 资源中的配置来实现负载均衡。

5.Linkerd 的未来发展趋势与挑战

在本节中,我们将讨论 Linkerd 的未来发展趋势与挑战。

5.1 更高性能

Linkerd 需要继续优化其性能,以满足微服务架构中的需求。这可能涉及到更高效的服务代理实现、更好的负载均衡算法以及更低的延迟。

5.2 更好的集成

Linkerd 需要继续提高其与 Kubernetes 和其他工具的集成性。这可能涉及到更好的配置管理、更好的监控和日志记录以及更好的集成到 CI/CD 流程中。

5.3 更多的功能

Linkerd 需要继续扩展其功能,以满足微服务架构中的需求。这可能涉及到更好的安全性和身份验证、更好的故障检测和恢复以及更好的集成到其他微服务技术中。

5.4 更好的文档和示例

Linkerd 需要继续提高其文档和示例的质量,以帮助用户更好地理解和使用 Linkerd。这可能涉及到更详细的文档、更多的示例和更好的教程。

6.附录:常见问题与答案

在本节中,我们将回答一些常见问题。

6.1 如何安装 Linkerd?

要安装 Linkerd,可以使用以下命令:

curl -sL https://run.linkerd.io/install | sh

这将下载并运行一个脚本,用于安装 Linkerd。安装完成后,可以使用以下命令来验证安装:

linkerd version

6.2 如何卸载 Linkerd?

要卸载 Linkerd,可以使用以下命令:

linkerd uninstall

这将卸载 Linkerd 和相关的资源。

6.3 如何使用 Linkerd 实现服务发现?

要使用 Linkerd 实现服务发现,可以定义一个 ServiceEntry 资源,并将其与一个 Service 资源配合使用。例如:

apiVersion: linkerd.io/v1alpha2
kind: ServiceEntry
metadata:
  name: my-service
spec:
  hosts:
  - example.com
  ports:
  - number: 80
    name: http
  location: my-namespace
---
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  ports:
  - port: 80
    targetPort: 8080
  selector:
    app: my-app

这将实现 my-service 的服务发现。

6.4 如何使用 Linkerd 实现负载均衡?

要使用 Linkerd 实现负载均衡,可以定义一个 Service 资源,并将其与一个 ServiceEntry 资源配合使用。例如:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  ports:
  - port: 80
    targetPort: 8080
  selector:
    app: my-app

这将实现 my-service 的负载均衡。

6.5 如何使用 Linkerd 实现故障检测和恢复?

要使用 Linkerd 实现故障检测和恢复,可以使用 Sidecar 模式。在每个服务实例旁边运行一个服务代理实例,这些实例与服务实例共享网络 namespace。这样,服务代理可以实现故障检测和恢复。

6.6 如何使用 Linkerd 实现安全性和身份验证?

要使用 Linkerd 实现安全性和身份验证,可以使用 MeshAuth 资源。定义一个 MeshAuth 资源,用于实现服务之间的身份验证和授权。

6.7 如何使用 Linkerd 实现访问日志记录?

要使用 Linkerd 实现访问日志记录,可以使用 AccessLog 资源。定义一个 AccessLog 资源,用于实现服务之间的访问日志记录。

7.结论

通过本文,我们深入了解了 Linkerd 的未来趋势、挑战和核心概念。我们了解了 Linkerd 如何实现服务发现、负载均衡、故障检测和恢复以及安全性和身份验证。我们还看到了 Linkerd 的未来发展趋势,包括更高性能、更好的集成、更多的功能和更好的文档和示例。

我们希望这篇文章能帮助您更好地理解 Linkerd,并且能够在实际项目中应用这些知识。如果您有任何问题或建议,请随时联系我们。我们很高兴为您提供更多帮助。

参考文献

[1] Linkerd 官方文档:https://doc.linkerd.io/

[2] Kubernetes 官方文档:https://kubernetes.io/docs/home/

[3] Envoy 官方文档:https://www.envoyproxy.io/docs/envoy/latest/intro/index.html

[4] Rust 官方文档:https://doc.rust-lang.org/

[5] gRPC 官方文档:https://grpc.io/docs/languages/rust/

[6] Prometheus 官方文档:https://prometheus.io/docs/introduction/overview/

[7] Jaeger 官方文档:https://www.jaegertracing.io/docs/1.26/

[8] OpenTracing 官方文档:https://opentracing.io/specification/

[9] Kubernetes Service 资源:https://kubernetes.io/docs/concepts/services-networking/service/

[10] Kubernetes Ingress 资源:https://kubernetes.io/docs/concepts/services-networking/ingress/

[11] Kubernetes ServiceEntry 资源:https://linkerd.io/2.2/docs/concepts/service-entry/

[12] Kubernetes VirtualService 资源:https://linkerd.io/2.2/docs/concepts/virtual-service/

[13] Kubernetes MeshAuth 资源:https://linkerd.io/2.2/docs/concepts/meshauth/

[14] Kubernetes AccessLog 资源:https://linkerd.io/2.2/docs/concepts/accesslog/

[15] Rust 编程语言:https://www.rust-lang.org/

[16] gRPC 高性能实时通信框架:https://grpc.io/

[17] Prometheus 监控系统:https://prometheus.io/

[18] Jaeger 分布式跟踪系统:https://www.jaegertracing.io/

[19] OpenTracing 跨语言的分布式跟踪系统:https://opentracing.io/

[20] Kubernetes 服务发现:https://kubernetes.io/docs/concepts/services-networking/service/

[21] Kubernetes 负载均衡:https://kubernetes.io/docs/concepts/services-networking/service/

[22] Kubernetes 故障检测和恢复:https://kubernetes.io/docs/concepts/services-networking/service/

[23] Kubernetes 安全性和身份验证:https://kubernetes.io/docs/concepts/security/

[24] Kubernetes 集成:https://kubernetes.io/docs/concepts/cluster-administration/authentication/

[25] CI/CD 流程:https://en.wikipedia.org/wiki/Continuous_integration

[26] Envoy 高性能的代理服务器:https://www.envoyproxy.io/

[27] Rust 编程语言:https://www.rust-lang.org/

[28] gRPC 高性能实时通信框架:https://grpc.io/

[29] Prometheus 监控系统:https://prometheus.io/

[30] Jaeger 分布式跟踪系统:https://www.jaegertracing.io/

[31] OpenTracing 跨语言的分布式跟踪系统:https://opentracing.io/

[32] Kubernetes 服务发现:https://kubernetes.io/docs/concepts/services-networking/dns/

[33] Kubernetes 负载均衡:https://kubernetes.io/docs/concepts/services-networking/service/

[34] Kubernetes 故障检测和恢复:https://kubernetes.io/docs/concepts/services-networking/service/

[35] Kubernetes 安全性和身份验证:https://kubernetes.io/docs/concepts/security/

[36] Kubernetes 集成:https://kubernetes.io/docs/concepts/cluster-administration/authentication/

[37] CI/CD 流程:https://en.wikipedia.org/wiki/Continuous_integration

[38] Envoy 高性能的代理服务器:https://www.envoyproxy.io/

[39] Rust 编程语言:https://www.rust-lang.org/

[40] gRPC 高性能实时通信框架:https://grpc.io/

[41] Prometheus 监控系统:https://prometheus.io/

[42] Jaeger 分布式跟踪系统:https://www.jaegertracing.io/

[43] OpenTracing 跨语言的分布式跟踪系统:https://opentracing.io/

[44] Kubernetes 服务发现:https://kubernetes.io/docs/concepts/services-networking/dns/

[45] Kubernetes 负载均衡:https://kubernetes.io/docs/concepts/services-networking/service/

[46] Kubernetes 故障检测和恢复:https://kubernetes.io/docs/concepts/services-networking/service/

[47] Kubernetes 安全性和身份验证:https://kubernetes.io/docs/concepts/security/

[48] Kubernetes 集成:https://kubernetes.io/docs/concepts/cluster-administration/authentication/

[49] CI/CD 流程:https://en.wikipedia.org/wiki/Continuous_integration

[50] Envoy 高性能的代理服务器:https://www.envoyproxy.io/

[51] Rust 编程语言:https://www.rust-lang.org/

[52] gRPC 高性能实时通信框架:https://grpc.io/

[53] Prometheus 监控系统:https://prometheus.io/

[54] Jaeger 分布式跟踪系统:https://www.jaegertracing.io/

[55] OpenTracing 跨语言的分布式跟踪系统:https://opentracing.io/

[56] Kubernetes 服务发现:https://kubernetes.io/docs/concepts/services-networking/dns/

[57] Kubernetes 负载均衡:https://kubernetes.io/docs/concepts/services-networking/service/

[58] Kubernetes 故障检测和恢复:https://kubernetes.io/docs/concepts/services-networking/service/

[59] Kubernetes 安全性和身份验证:https://kubernetes.io/docs/concepts/security/

[60] Kubernetes 集成:https://kubernetes.io/docs/concepts/cluster-administration/authentication/

[61] CI/CD 流程:https://en.wikipedia.org/wiki/Continuous_integration

[62] Envoy 高性能的代理服务器:https://www.envoyproxy.io/

[63] Rust 编程语言:https://www.rust-lang.org/

[64] gRPC 高性能实时通信框架:https://grpc.io/

[65] Prometheus 监控系统:https://prometheus.io/

[66] Jaeger 分布式跟踪系统:https://www.jaegertracing.io/

[67] OpenTracing 跨语言的分布式跟踪系统:https://opentracing.io/

[68] Kubernetes 服务发现:https://kubernetes.io/docs/concepts/services-networking/dns/


标签:负载,服务,https,Kubernetes,适应,io,Linkerd,趋势
From: https://blog.51cto.com/universsky/9048227

相关文章

  • 用滚轮实现文字的适应
    用滚轮实现文字的适应<!DOCTYPEhtml><html><head><title>页面标题</title><style> #model{ width:30%;height:300px;overflow-y:scroll;background:yellow;}::-webkit-scrollbar{ display:none;......
  • 跨境电商迎来综合竞争力比拼时代 五大趋势解读跨境2024
    过去几年,跨境电商成为外贸出口增长的一大亮点,随着年底国务院办公厅《关于加快内外贸一体化发展的若干措施》的发布,跨境电商在促进经济发展、助力内外贸一体化发展方面的价值更加凸显。这是跨境电商变化最快的时代,也是跨境电商发展最好的时代,2023年,以TikTokShop、SHEIN、Temu以及Al......
  • 【vue】,封装的table组件,table表格超出高度自适应滚动效果,设置页面全局统一自适应高度
    需求背景:为了使后台页面的table列表页面始终保持统一的高度,无论我们的列表数据有多少都只占一个屏幕的高度,如果table表格的数据太多,只滚动table表格的数据,页面高度保持不变;使用window.onresize监听浏览器的高度://tableHeight:为el-table绑定的height高度;onMounted......
  • IT在当代社会的重要性和未来发展趋势
    摘要:随着科技的不断进步和全球信息化的飞速发展,IT行业在当代社会中扮演着至关重要的角色。本文将探讨IT在当代社会的重要性,并展望IT行业的未来发展趋势。1.IT的重要性IT(信息技术)在当代社会中扮演着多重角色。首先,IT为企业提供了高效的沟通和信息处理手段。通过互联网、电子邮件......
  • Linkerd
    Linkerdisa servicemesh forKubernetes.Itmakesrunningserviceseasierandsaferbygivingyouruntimedebugging,observability,reliability,andsecurity—allwithoutrequiringanychangestoyourcode.InstallationEnsureyouhaveaccesstotheKuber......
  • Cisco ASAv 9.20.2 发布 - 思科自适应安全虚拟设备 (ASAv)
    CiscoASAv9.20.2发布-体验思科上一代防火墙思科自适应安全虚拟设备(ASAv)作者主页:sysin.org思科自适应安全虚拟设备(ASAv):跨物理和虚拟环境扩展安全性思科自适应安全虚拟设备(ASAv)是一款完全重新构想的虚拟安全解决方案。对于思科以应用为中心的基础设施(ACI)环境,它支......
  • Cisco ASA 9.20.2 发布 - 思科自适应安全设备 (ASA) 软件
    CiscoASA9.20.2发布-思科上一代防火墙思科自适应安全设备(ASA)软件作者主页:sysin.org思科自适应安全设备(ASA)软件成熟的防火墙和网络安全平台CiscoASA系列安全设备可以保护各种规模的公司网络。它可让用户随时随地使用任何设备进行高度安全的数据访问。这些设备15年......
  • 洞察行业趋势:2024年平台工程预测
    随着2024年的到来,在不断进步的业务格局以及对高效、可扩张且可靠的数字平台日益增长的需求的推动下,平台工程领域不断发展。它塑造了组织构建、部署和管理其软件和基础设施的方式。在本文中,我们将深入探讨2024年平台工程这一动态领域的主要趋势和实践。 平台工程概述平台工......
  • 软件开发者必读!2024年30大趋势提前曝光!
    软件是科技行业的基础。从智能手机到复杂的企业系统,软件是推动这些技术的核心。在探索数字时代的过程中,了解软件开发的趋势非常重要。人工智能、机器学习、物联网等技术的快速发展对软件开发行业产生了巨大影响。本文旨在通过30个数据汇总,帮助读者们初步了解2024年软件开发领域的新......
  • 程序化广告发展趋势
    程序化广告是指通过自动化和数据分析技术来投放和管理广告的一种方式。随着互联网和数字化的快速发展,程序化广告已经进入相对成熟的阶段,像Mintergral、Flat Ads、TDD等就是比较具有代表性的程序化广告平台,能对接丰富的上下游资源,让广告购买者可以跨广告格式和渠道创建,管理和优化更......