当前位置: 首页 > news >正文

企业网站 源码 开源wordpress幻灯片图片主题

企业网站 源码 开源,wordpress幻灯片图片主题,官方网站怎么写,网站规划与制作什么是Gateway在微服务体系结构中#xff0c;如果每个微服务通常都会公开一组精细终结点#xff0c;这种情况可能会有以下问题如果没有 API 网关模式#xff0c;客户端应用将与内部微服务相耦合。在客户端应用中#xff0c;单个页面/屏幕可能需要多次调用多个服务。 如果没… 什么是Gateway在微服务体系结构中如果每个微服务通常都会公开一组精细终结点这种情况可能会有以下问题如果没有 API 网关模式客户端应用将与内部微服务相耦合。在客户端应用中单个页面/屏幕可能需要多次调用多个服务。 如果没有网关所有微服务必定会暴露在“外部世界”中。每个公开发布的微服务都必须处理授权和 SSL 等问题。而Gateway可以为微服务组提供单一入口点API 网关位于客户端应用和微服务之间。它充当反向代理将请求从客户端路由到服务。它还可以提供其他跨领域功能例如身份验证、SSL 终止和缓存。什么是EnvoyEnvoy 是专为大型现代 SOA面向服务架构架构设计的 L7 代理和通信总线它有以下优势C11编写原生代码高性能L3/L4 filter架构例如TCP代理HTTP L7 filter架构缓存限速路由/转发顶级HTTP2与GRPC支持服务发现与动态配置健康检查高级负载均衡我们可以借助Envoy实现API Gateway。Envoy通过yaml配置文件来组织网关的信息。下面来说说Envoy中的核心概念.NET网关与Gateway实战-Envoy与kong课程希望大家支持  https://ke.qq.com/course/4033027?tuin1271860fListener一个命名的网络地址可以被下游客户端连接它的配置样式如下static_resources:listeners:- name: listener_0address:socket_address:protocol: TCPaddress: 0.0.0.0port_value: 10000此配置说明Envoy监听在10000端口下游客户端可以通过此端口与Envoy交互L3/L4过滤器FilterL3/L4过滤器Filter可以帮我们实现如HTTP连接管理限速TCP代理等功能它的配置样式如下filter_chains:- filters:- name: envoy.filters.network.http_connection_managertyped_config:type: type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManagerscheme_header_transformation:scheme_to_overwrite: httpstat_prefix: ingress_httproute_config:name: local_routevirtual_hosts:- name: local_servicedomains: [*]routes:- match:prefix: /route:host_rewrite_literal: 192.168.43.94cluster: service_envoyproxy_iohttp_filters:- name: envoy.filters.http.router此配置说明通过HttpConnectionManager这个过滤器来接受HTTP请求并将请求通过router过滤器的配置转发到service_envoyproxy_io这个上游集群Upstream ClusterEnvoy 的集群管理器管理所有配置的上游集群用来真正处理Envoy接受的请求其配置样式如下clusters:- name: service_envoyproxy_ioconnect_timeout: 30stype: strict_dnsdns_lookup_family: V4_ONLYlb_policy: ROUND_ROBINload_assignment:cluster_name: service_envoyproxy_ioendpoints:- lb_endpoints:- endpoint:address:socket_address:address: 192.168.43.94port_value: 5000此配置说明Envoy会将请求转发到192.168.43.94:5000这个地址。调用逻辑我们总结如下Listener接受请求将请求交给过滤器过滤器处理完后根据路由规则将请求转发给上游集群上游集群中的endpoint会真正处理请求。运行Envoy我们通过docker运行一个默认Envoy容器docker run --rm -it -p 9901:9901 -p 10000:10000 envoyproxy/envoy-dev访问http://localhost:10000/发现其跳转到Envoy官网  我们进入容器查看其配置发现其最终会将请求转发到www.envoyproxy.iocat /etc/envoy/envoy.yaml- lb_endpoints:- endpoint:address:socket_address:address: www.envoyproxy.ioport_value: 443静态文件配置我们现在通过Envoy来实现我们自己的网关。静态文件配置是我们把配置信息提前配置好Envoy启动后不可修改配置内容准备服务我们准备两个.NET WebAPIserver1与server2其中分别创建NameController并新建Get方法Server1[HttpGet]public string Get(){_logger.LogInformation(call server1);var req Request;return server1;}Server2[HttpGet]public string Get(){_logger.LogInformation(call server2);var req Request;return server2;}并将server1的启动端口指定为5000将server2的启动端口指定为5001Server1webBuilder.UseUrls(http://*:5555).UseStartupStartup();Server2webBuilder.UseUrls(http://*:5001/).UseStartupStartup();我们启动Server1与Server2准备Envoy配置我们将上节课的默认Envoy配置文件从容器中取出并作修改如下admin:address:socket_address:protocol: TCPaddress: 0.0.0.0port_value: 9901 static_resources:listeners:- name: listener_0address:socket_address:protocol: TCPaddress: 0.0.0.0port_value: 10000filter_chains:- filters:- name: envoy.filters.network.http_connection_managertyped_config:type: type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManagerscheme_header_transformation:scheme_to_overwrite: httpstat_prefix: ingress_httproute_config:name: local_routevirtual_hosts:- name: local_servicedomains: [*]routes:- match:prefix: /route:host_rewrite_literal: 192.168.43.94cluster: service_envoyproxy_iohttp_filters:- name: envoy.filters.http.routerclusters:- name: service_envoyproxy_ioconnect_timeout: 30stype: static# Comment out the following line to test on v6 networksdns_lookup_family: V4_ONLYlb_policy: ROUND_ROBINload_assignment:cluster_name: service_envoyproxy_ioendpoints:- lb_endpoints:- endpoint:address:socket_address:address: 192.168.43.94port_value: 5000- endpoint:address:socket_address:address: 192.168.43.94port_value: 5001我们启动Envoy验证配置是否正确docker run --rm -it -p 9901:9901 -p 10000:10000 -v D:/gateway/envoy/config/static/envoy.yaml:/etc/envoy/envoy.yaml -v D:/gateway/envoy/logs:/logs envoyproxy/envoy-dev -c /etc/envoy/envoy.yaml --log-path logs/custom.log调用api发现其实现了负载http://localhost:10000/Name动态文件配置动态文件可以帮助我们实现当文件发生更改时Envoy 将自动更新其配置。修改静态文件将其中的cluster提取到cds.yaml文件中resources: - type: type.googleapis.com/envoy.config.cluster.v3.Clustername: example_proxy_clustertype: STRICT_DNStyped_extension_protocol_options:envoy.extensions.upstreams.http.v3.HttpProtocolOptions:type: type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptionsexplicit_http_config:http_protocol_options: {}load_assignment:cluster_name: example_proxy_clusterendpoints:- lb_endpoints:- endpoint:address:socket_address:address: 192.168.43.94port_value: 5000将listener提取到lds.yaml文件中resources: - type: type.googleapis.com/envoy.config.listener.v3.Listenername: listener_0address:socket_address:address: 0.0.0.0port_value: 10000filter_chains:- filters:- name: envoy.http_connection_managertyped_config:type: type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManagerstat_prefix: ingress_httphttp_filters:- name: envoy.filters.http.routerroute_config:name: local_routevirtual_hosts:- name: local_servicedomains:- *routes:- match:prefix: /envoyapi/route:prefix_rewrite: /host_rewrite_literal: 192.168.43.94cluster: example_proxy_cluster修改envoy.yaml让其引用lds.yaml与cds.yaml文件admin:address:socket_address:protocol: TCPaddress: 0.0.0.0port_value: 9902 node:cluster: test-clusterid: test-id dynamic_resources:cds_config:path: /etc/envoy/cds.yamllds_config:path: /etc/envoy/lds.yaml启动Envoydocker run --rm -it -p 9902:9902 -p 10000:10000 -v D:/gateway/envoy/config/dynamic/:/etc/envoy/ -v D:/gateway/envoy/logs:/logs envoyproxy/envoy-dev -c /etc/envoy/envoy.yaml --log-path logs/custom.log调用api发现调用成功http://localhost:10000/envoyapi/Name修改动态文件配置修改cds.yaml将endpoint端口设置为5001resources: - type: type.googleapis.com/envoy.config.cluster.v3.Clustername: example_proxy_clustertype: STRICT_DNStyped_extension_protocol_options:envoy.extensions.upstreams.http.v3.HttpProtocolOptions:type: type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptionsexplicit_http_config:http_protocol_options: {}load_assignment:cluster_name: example_proxy_clusterendpoints:- lb_endpoints:- endpoint:address:socket_address:address: 192.168.43.94port_value: 5001进入容器内部强制更新文件# cd /etc/envoy # mv cds.yaml tmp # mv tmp cds.yaml调用api发现在不重启Envoy的情况下实现了配置信息的动态更新至此我们已经通过Envoy的静态配置与文件动态配置实现了一个网关来代理我们的.NET程序相关文章Dapr实战一 基础概念与环境搭建Dapr .NET Core实战二 服务调用Dapr .NET Core实战三状态管理Dapr .NET 实战四发布和订阅Dapr .NET 实战五ActorDapr .NET 实战六绑定Dapr .NET 实战七SecretsDapr .NET 实战八服务监测Dapr .NET 实战九本地调试Dapr .NET 实战十-终篇K8S运行DaprDapr .NET实战十一单机Dapr集群负载均衡Dapr .NET 实战十二服务调用之GRPCDapr .NET 实战十三跨语言开发为什么 Dapr 如此令人兴奋
http://www.yutouwan.com/news/409197/

相关文章:

  • 做网站几个步骤织梦医院网站源码
  • 襄阳网站建设关于飞鱼wordpress免费简约模板
  • 手机php网站开发济南城市建设职业学院官网招生网
  • 厦门做网站哪家强王烨乐清
  • 张家界建设网站的公司工程建设标准化网站
  • 网站下方一般放什么百度网址大全官网下载
  • 拨号地址怎么做网站国内做进口的电商网站
  • 查询个人信息的网站怎么在百度推广
  • 建设银行网站打不开怎么办海鲜网站模板
  • 汕头做网站优化公司免费备案域名
  • 快速搭建网站软件wordpress实例教程
  • 托管网站是什么意思昆明软件开发公司
  • 邯郸现代建设集团网站怎样学做网站运营
  • 加强理想信念教育主题网站建设百度关键词竞价价格查询
  • 别人的抖音网站是怎么做的北京app制作公司
  • 网上免费注册qq网站高端网站设计官网
  • 网站seo推广计划广东东莞智通人才招聘网
  • 网站建设win2012本地部署iis部署网站
  • 专门做创意桌椅的网站wordpress 主题logo
  • 珠海 电商 网站建设安康市集约化平台
  • 网站发布服务托管器建网站要服务器
  • 做网站赚不了钱海南海口网站开发公司
  • 给个人建网站的公司东坑镇仿做网站
  • 上海市网站建设公叿济源网站开发
  • 花都网站建设网页设计深圳宝安美容医院网站建设
  • 宁波高端网站设计厂家游戏网站设计
  • 网站建设模板网站网页设计素材图片大全
  • 网站二级菜单是什么意思wordpress 加下载
  • c 网站开发案例详解下载建设单位经常去哪个网站
  • 怎么用别人网站做模板专业网站建设科技公司