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

网站底部浮动电话广告网络营销的基本特征有哪七个

网站底部浮动电话广告,网络营销的基本特征有哪七个,近期莱芜命案,网站技术如何策划目录 一、目的 二、Ocelot介绍 三、.Net中使用Ocelot搭建网关服务 3.1 搭建网关Ocelot步骤 3.1.1、创建Net7 WebApi服务 3.1.2、Nuget引入-Ocelot程序包(版本:19.0.2) 3.1.3、配置中间件和IOC注册 3.1.4 配置文件编辑Ocelot网关配置信…

目录

一、目的

二、Ocelot介绍

三、.Net中使用Ocelot搭建网关服务

3.1 搭建网关Ocelot步骤

 3.1.1、创建Net7 WebApi服务

3.1.2、Nuget引入-Ocelot程序包(版本:19.0.2)

3.1.3、配置中间件和IOC注册

3.1.4 配置文件编辑Ocelot网关配置信息

3.2 Ocelot相关配置

3.2.1 单地址访问

3.2.2 多地址访问

3.2.3 单地址多实例负载均衡

3.2.4 负载均衡+Consul(服务发现)

四、文章总结


一、目的

         在微服务架构中,网关作为系统的统一入口,承担着路由转发、负载均衡、安全控制等核心功能,是确保系统高效运行的关键组件。市面上一些主流网关:Kong、Envoy、Spring Cloud Gateway、Bumblebee、Ocelot(C#开源-微软-腾讯---Abp.vnext内置)。

        这里主要讲解通过Ocelot设计微服务Api网关。

    二、Ocelot介绍

            Ocelot网关是一款基于.NET Core开发的开源API网关,专为微服务架构设计,其主要作用包括统一管理客户端请求、提升系统安全性和可维护性‌.

        网关的作用包括:

    1. 请求路由‌:通过配置文件定义路由规则,将客户端请求动态转发到对应的下游服务,支持路径占位符(如/{userId})和通配符匹配‌。
    2. 负载均衡‌:集成轮询、随机、最少连接数等算法,分发请求到多个服务实例,提高可用性和性能‌。
    3. 服务发现‌:自动集成Consul或Eureka等注册中心,实时发现服务地址,减少手动配置负担‌。
    4. 认证与授权‌:支持JWT、OAuth2等认证方式,实现统一身份验证和基于角色的访问控制(RBAC),保障资源安全‌。
    5. 限流与熔断‌:采用令牌桶算法限制请求速率,防止服务过载;熔断机制在服务故障时快速失败,避免级联崩溃‌。
    6. 请求聚合‌:合并多个下游服务的响应为单一结果,减少客户端请求次数,优化用户体验‌。
    7. 日志与监控‌:记录请求日志和性能指标,支持与Serilog、Prometheus等工具集成,便于运维分析和优化‌。
    8. 统一入口‌:作为微服务架构的单一接入点,屏蔽后端服务复杂性,降低客户端与服务间的耦合度‌。

    三、.Net中使用Ocelot搭建网关服务

    3.1 搭建网关Ocelot步骤

     3.1.1、创建Net7 WebApi服务

    3.1.2、Nuget引入-Ocelot程序包(版本:19.0.2)

            dotnet add packages Ocelot

    3.1.3、配置中间件和IOC注册

    //配置Ocelot中间件设置和注册到Ioc
    builder.Services.AddOcelot();//使用Ocelot中间件
    app.UseOcelot();

    3.1.4 配置文件编辑Ocelot网关配置信息

    为了便于区分,新增一个configuration配置文件用来编辑Ocelot网关相关信息。

    创建了配置文件就需要在重新读取配置文件,appsettings是默认读取的,这里需要在读取configuration中的内容:

    builder.Configuration.AddJsonFile("configuration.json", true, true);

    3.2 Ocelot相关配置

            Ocelot在注册服务到Ioc时,AddOcelot方法在构建Ocelot服务时,对通过读取配置文件中的信息来设置相关服务。以下是几种常见的服务配置方式。

    3.2.1 单地址访问

            这里配置了单地址转发,通过配置文件定义路由规则,将请求动态转发到对应的下游服务,通过占位符"/Test80"和通配符访问。

    {"Routes": [{"DownstreamPathTemplate": "/api/{url}", //服务地址,Url变量"DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "127.0.0.1","Port": 80 //服务端口} //http://127.0.0.1:80],"UpstreamPathTemplate": "/Test80/{url}", //网关地址: Url变量"UpstreamHttpMethod": [ "Get", "Post" ]}]
    }

    3.2.2 多地址访问

          网关支持多个服务地址,转发请求。模拟客户端请求不同的服务示例。如:

    访问: https://网关ip:80/Test81/Test/Get

    //  //*****************************多地址********************************
    {"Routes": [{"DownstreamPathTemplate": "/api/{url}", //服务地址,Url变量"DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "127.0.0.1","Port": 81 //服务端口}],"UpstreamPathTemplate": "/Test81/{url}", //网关地址: Url变量"UpstreamHttpMethod": [ "Get", "Post" ]},{"DownstreamPathTemplate": "/api/{url}", //服务地址,Url变量"DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "127.0.0.1","Port": 82 //服务端口}],"UpstreamPathTemplate": "/Test82/{url}", //网关地址: Url变量"UpstreamHttpMethod": [ "Get", "Post" ]},{"DownstreamPathTemplate": "/api/{url}", //服务地址,Url变量"DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "127.0.0.1","Port": 83 //服务端口}],"UpstreamPathTemplate": "/Test83/{url}", //网关地址: Url变量"UpstreamHttpMethod": [ "Get", "Post" ]}]
    }

    3.2.3 单地址多实例负载均衡

            可以负载均衡,客户端请求网关时,会根据负载策略去匹配不同的示例。但是不能动态伸缩服务, 所以一般不会使用他来做负载均衡, 需要和Consul做集成。这种处理方式和nginx的负载很像。

    //*****************************单地址多实例负载均衡********************************
    {"Routes": [{"DownstreamPathTemplate": "/api/{url}", //服务地址Url变量"DownstreamScheme": "http","DownstreamHostAndPorts": [{"Host": "127.0.0.1","Port": 81},{"Host": "127.0.0.1","Port": 82},{"Host": "127.0.0.1","Port": 83} //能负载均衡,但是不能动态伸缩, 需要结合Consul来完成],"UpstreamPathTemplate": "/Test/{url}", //网关地址: Url变量"UpstreamHttpMethod": [ "Get", "Post" ],"LoadBalancerOptions": {"Type": "RoundRobin" //轮询 // "LeastConnection" //最小连接数的服务器  "NoLoadBalance" //不负载均衡 }}]
    }

    3.2.4 负载均衡+Consul(服务发现)

            1、在网关中配置Consul,注册Consul到Ocelot中,引用Ocelot.Provider.Consul

    dotnet add package Ocelot.Provider.Consul

            2、配置Consul注册到Ocelot

    builder.Services.AddOcelot().AddConsul();

    ps:ocelot请求时,通过Consul获取的默认服务名称会通过本机名字匹配。默认请求时可能会出现通过consul访问对应服务节点的情况。(此处测试时Consul在window上运行)

    解决方案:启动Consul的node节点.此处写上服务端地址

    //设置node地址

    consul agent -dev -node=127.0.0.1

            3、Json配置内容

    //*****************************Consul服务发现
    {"Routes": [{"DownstreamPathTemplate": "/api/{url}", //服务地址--url变量"DownstreamScheme": "http","UpstreamPathTemplate": "/Test/{url}", //网关地址--url变量"UpstreamHttpMethod": [ "Get", "Post" ],"UseServiceDiscovery": true,"ServiceName": "TestService", //consul服务名称"LoadBalancerOptions": {"Type": "RoundRobin" //轮询 "LeastConnection-最少连接数的服务器NoLoadBalance不负载均衡"}}],"GlobalConfiguration": {//"BaseUrl": "http://127.0.0.1:6299", //网关对外地址"ServiceDiscoveryProvider": {"Host": "127.0.0.1","Port": 8500,"Type": "Consul" //由Consul提供服务发现,每次请求去consul}}
    }

    四、文章总结

            以上内容基本满足网关搭建的使用,本篇主要介绍基础的使用方式。Ocelot还有更多高级的用法,也会在后面的文章中慢慢补上。例如:Ocelot缓存、自定义负载均衡规则以及接入Polly的服务治理相关。

            欢迎大家多多交流~

    http://www.dtcms.com/wzjs/399701.html

    相关文章:

  1. 网站推广排名怎么做营销策划与运营公司
  2. 罗源县建设局网站网店代运营的套路
  3. 门户网站建设系统seo教程书籍
  4. 网站 模板 phpapp拉新渠道
  5. 深圳网站建设公司 概况网络营销有几种方式
  6. 商品网站怎么做的人民日报官网
  7. 网络营销的新产品战略南京seo公司
  8. 淘宝做网站推广人电话网站推广的方式
  9. 用jsp和mysql做网站十大seo公司
  10. 保定 营销型网站建设属于网络营销的特点是
  11. 河南网站建设找工作搜索引擎seo如何优化
  12. 苏州seo安严博客seo平台代理
  13. 惠州网络推广领头seo技术培训教程
  14. 哪里可以免费建设b2b网站建网站专业
  15. 做海购的网站搜索引擎平台
  16. 新疆生产建设兵团五十团网站谷歌推广怎么做
  17. wordpress升级教程seo工资多少
  18. 公司品牌推广公司临沂seo优化
  19. 专业的网站建设网络视频seo优化教程
  20. wordpress建立数据库连接百度关键词优化首选667seo
  21. 南昌市新农村建设网站在线外链工具
  22. 环江建设网站沧州网站优化
  23. 为推广网站做的宣传活动登封网站关键词优化软件
  24. 免费建网站.com的区别如何自己开发软件app
  25. wordpress选择文章模板seo基础培训教程
  26. 沈阳做网站的企业软件外包公司排名
  27. 福州整站优化建站系统有哪些
  28. 做破解的网站营销模式有哪些 新型
  29. 宽屏营销型网站源码网站开发建设步骤
  30. 深圳网站设计 建设首选深圳市吉安seo招聘