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

深圳网站官网建设方案南江县建设局网站

深圳网站官网建设方案,南江县建设局网站,温州专业微网站制作电话,手机端app开发公司上一篇我们介绍了如何通过Nacos的配置功能来存储限流规则。Apollo是国内用户非常多的配置中心#xff0c;所以#xff0c;今天我们继续说说Spring Cloud Alibaba Sentinel中如何将流控规则存储在Apollo中。 使用Apollo存储限流规则 Sentinel自身就支持了多种不同的数据源来…上一篇我们介绍了如何通过Nacos的配置功能来存储限流规则。Apollo是国内用户非常多的配置中心所以今天我们继续说说Spring Cloud Alibaba Sentinel中如何将流控规则存储在Apollo中。 使用Apollo存储限流规则 Sentinel自身就支持了多种不同的数据源来持久化规则配置目前包括以下几种方式 文件配置Nacos配置ZooKeeper配置Apollo配置 本文我们就来一起动手尝试一下如何使用Apollo来存储限流规则。 准备工作 下面我们将同时使用到Apollo和Sentinel Dashboard所以可以先把Apollo和Sentinel Dashboard启动起来。 如果还没入门Sentinel Dashboard可以通过文末的系列目录先学习之前的内容。Apollo的话相对复杂一些这里不做详细介绍了如果还没有接触过Apollo的读者可以查看其官方文档进一步学习。 应用配置 第一步在Spring Cloud应用的pom.xml中引入Spring Cloud Alibaba的Sentinel模块和Apollo存储扩展 dependencies dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-alibaba-sentinel/artifactId /dependency dependency groupIdcom.alibaba.csp/groupId artifactIdsentinel-datasource-apollo/artifactId version1.5.2/version /dependency/dependencies第二步在Spring Cloud应用中配置的服务信息在resource目录下创建apollo-env.properties文件内容样例 local.metahttp://192.168.0.201:8080dev.metahttp://192.168.0.202:8080这里需要了解Apollo对多环境的配置这里设置的是每个环境不同的配置服务地址读者需要根据自己的实际情况修改。 第三步在Spring Cloud应用中添加配置信息 spring.application.namesentinel-datasource-apolloserver.port8002# apollo configapp.id${spring.application.name}# sentinel dashboardspring.cloud.sentinel.transport.dashboardlocalhost:8080# sentinel datasource apollospring.cloud.sentinel.datasource.ds.apollo.namespaceNameapplicationspring.cloud.sentinel.datasource.ds.apollo.flowRulesKeysentinel.flowRulesspring.cloud.sentinel.datasource.ds.apollo.rule-typeflowapp.idApollo中的创建的项目名称这里采用spring.application.name参数的引用从而达到服务名与配置项目名一致的效果spring.cloud.sentinel.transport.dashboardsentinel dashboard的访问地址根据上面准备工作中启动的实例配置spring.cloud.sentinel.datasource.ds.apollo.namespaceNameApollo的空间名spring.cloud.sentinel.datasource.ds.apollo.flowRulesKey配置规则的key名称spring.cloud.sentinel.datasource.ds.apollo.rule-type该参数是spring cloud alibaba升级到0.2.2之后增加的配置用来定义存储的规则类型。所有的规则类型可查看枚举类org.springframework.cloud.alibaba.sentinel.datasource.RuleType每种规则的定义格式可以通过各枚举值中定义的规则对象来查看比如限流规则可查看com.alibaba.csp.sentinel.slots.block.flow.FlowRule 关于Apollo相关配置的对应关系可见下图所示 第四步创建应用主类并提供一个rest接口比如 EnableApolloConfigSpringBootApplicationpublic class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); } Slf4j RestController static class TestController { GetMapping(/hello) public String hello() { return didispace.com; } }}其中EnableApolloConfig注解是开启Apollo的配置加载功能。 第五步Apollo中配置限流规则具体可见第三步的截图中的样子。其中key值的内容是下面的json [ { resource: /hello, limitApp: default, grade: 1, count: 5, strategy: 0, controlBehavior: 0, clusterMode: false }]可以看到上面配置规则是一个数组类型数组中的每个对象是针对每一个保护资源的配置对象每个对象中的属性解释如下 resource资源名即限流规则的作用对象limitApp流控针对的调用来源若为 default 则不区分调用来源grade限流阈值类型QPS 或并发线程数0代表根据并发数量来限流1代表根据QPS来进行流量控制count限流阈值strategy调用关系限流策略controlBehavior流量控制效果直接拒绝、Warm Up、匀速排队clusterMode是否为集群模式 这里我们只做简单的配置解释以便于理解这里的配置作用。实际上这里还有非常多可配置选项和规则更复杂的配置后面我们单独开一篇来深入学习。 第六步启动应用。如果一些顺利可以看到类似下面的日志代表已经成功从Nacos加载了一条限流规则 2019-04-18 23:56:11.278 INFO 29149 --- [ main] o.s.c.a.s.c.SentinelDataSourceHandler : [Sentinel Starter] DataSource ds-sentinel-apollo-datasource start to loadConfig2019-04-18 23:56:11.279 INFO 29149 --- [ main] o.s.c.a.s.c.SentinelDataSourceHandler : [Sentinel Starter] DataSource ds-sentinel-apollo-datasource load 1 FlowRule通过postman或者curl访问几下localhost:8002/hello接口 $ curl localhost:8002/hellodidispace.com此时在Sentinel Dashboard中就可以看到当前我们启动的sentinel-datasource-apollo服务。点击左侧菜单中的流控规则可以看到已经存在一条记录了这条记录就是上面我们在Apollo中配置的限流规则。 深入思考 在使用Apollo存储规则配置的时候与Nacos存储一样对于Sentinel控制台这些数据是只读的也就是说 Sentinel控制台中修改规则仅存在于服务的内存中不会修改Apollo中的配置值重启后恢复原来的值。Nacos控制台中修改规则服务的内存中规则会更新Apollo中持久化规则也会更新重启后依然保持。 代码示例 本文介绍内容的客户端代码示例读者可以通过查看下面仓库中的alibaba-sentinel-datasource-apollo项目 Githubhttps://github.com/dyc87112/SpringCloud-Learning/Giteehttps://gitee.com/didispace/SpringCloud-Learning/ 如果您对这些感兴趣欢迎star、follow、收藏、转发给予支持 参考资料 下面是Sentinel的仓库地址与官方文档读者也可以自己查阅文档学习 GithubSentinel官方文档动态规则Spring Cloud Alibaba Sentinel文档 系列回顾 《Spring Cloud Alibaba基础教程使用Nacos实现服务注册与发现》《Spring Cloud Alibaba基础教程支持的几种服务消费方式》《Spring Cloud Alibaba基础教程使用Nacos作为配置中心》《Spring Cloud Alibaba基础教程Nacos配置的加载规则详解》《Spring Cloud Alibaba基础教程Nacos配置的多环境管理》《Spring Cloud Alibaba基础教程Nacos配置的多文件加载与共享配置》《Spring Cloud Alibaba基础教程Nacos的数据持久化》《Spring Cloud Alibaba基础教程Nacos的集群部署》《Spring Cloud Alibaba基础教程使用Sentinel实现接口限流》《Spring Cloud Alibaba基础教程Sentinel使用Nacos存储规则》《Spring Cloud Alibaba基础教程Sentinel使用Apollo存储规则》 专题推荐 Spring Boot基础教程Spring Cloud基础教程
http://www.yutouwan.com/news/367304/

相关文章:

  • 微网站的优势怎么样让客户做网站和小程序
  • 一般网站字体织梦手机网站
  • 深圳建设局网站首页怎样在建设部网站上查公司信息
  • 做网站 就上宝华建站石家庄外贸建站公司
  • 丽江旅游网站建设wordpress畅言怎么样
  • 中国对外贸易网站怎么做网站页面代码搜索
  • 北京网站设计公司招聘信息微信公众号和小程序的区别
  • 手机创建网站教程wordpress电影主题公园
  • 建设银行 网站无法打开wordpress一键登录
  • wordpress邮箱插件网站seo应用
  • 广东华星建设集团网站工程建设项目管理系统平台
  • 网站开发最佳组合京东商城网上购物京东超市
  • 网站关键词过多wordpress回复查看插件
  • 网站布局的三种基本方法国外设计网站app吗
  • 银川网站建设联系电话用织梦搭建网站
  • 枣庄公司网站建设怎样自己免费搭建网站
  • 宁夏建设局官方网站男女明星直接做的视频网站
  • 广州微网站制作永久免费域名
  • 西安网站建设问问q778925409耍強dede网站地图html文件
  • 电商网站建设案例网站建设的步骤图
  • 小网站怎么赚钱it培训班大概需要多少钱
  • 在哪个网站可以搜画画做品android 做电子书下载网站
  • 吕梁营销型网站建设费用wordpress选择字体颜色
  • 做免费推广网站重庆关键词优化平台
  • 天津做网站推广的网站建湖网站设计
  • 网站建设有哪些技术有教人做衣服的网站
  • 宝安网站建设(深圳信科)建立微信群怎么建
  • 重庆企业网站郑州网络推广软件
  • 海淀营销型网站建设上海网站开发哪家好
  • 哪个网站做衣服的自己怎么设计公司的logo