当先锋百科网

首页 1 2 3 4 5 6 7

Envoy是一个高性能的、可扩展的代理服务器,主要用于微服务之间的通信和数据传输。与Docker的容器化技术相比,在一些特定的场景下,Envoy的优势更为明显。

envoy非docker(ENVOY DA)

首先,Envoy不需要Docker的运行环境,可以直接在宿主机上运行,减少了部署的复杂性,尤其是在一些资源有限的环境下,例如边缘计算场景,Envoy的轻量化和简单易用的特点更为突出。


node:
  id: edge-envoy
  cluster:
    # 定义集群,这里假设有一个后端服务的集群,包含两个节点
    backend_cluster:
      type: EDS
      eds_cluster_config:
        service_name: backend_service
      lb_policy: ROUND_ROBIN
      connect_timeout: 0.25s
      http2_protocol_options: {}
      circuit_breaker:
        default:
          max_connections: 10000
          max_pending_requests: 10000
          max_requests: 1000000
          max_retries: 3
        thresholds:
          - priority: HIGH
            request_type: HTTP
            max_connections: 5000
          - priority: HIGH
            request_type: HTTP
            max_pending_requests: 5000
          - priority: HIGH
            request_type: HTTP
            max_requests: 50000
          - priority: HIGH
            request_type: HTTP
            max_retries: 1

其次,Envoy拥有强大的流量控制和路由能力,通过配置文件可以实现各种负载均衡、路由策略和流量管理,同时支持多种传输协议,可满足不同业务场景下的需求。


admin:
  access_log_path: /dev/null
  address:
    socket_address:
      address: 0.0.0.0
      port_value: 9901
static_resources:
  listeners:
  - name: listener_1
    address:
      socket_address:
        address: 0.0.0.0
        port_value: 8080
    filter_chains:
    - filters:
      - name: envoy.http_connection_manager
        config:
          codec_type: auto
          stat_prefix: ingress_http
          rds:
            route_config_name: local_route
            config_source:
              api_config_source:
                api_type: GRPC
                grpc_services:
                - envoy_grpc:
                    cluster_name: xds_cluster
          http_filters:
          - name: envoy.router
            config: {}
  clusters:
  - name: xds_cluster
    connect_timeout: 0.25s
    type: STRICT_DNS
    lb_policy: ROUND_ROBIN
    load_assignment:
      cluster_name: xds_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: backend_service
                port_value: 8080

最后,Envoy支持多种插件和扩展,可以根据业务需求进行二次开发和定制化,灵活性更高。同时,Envoy还有完善的文档和社区支持,可以为用户提供更好的使用体验和技术支持。