Nacos

SpringCloudAlibaba微服务框架搭建

吃可爱长大的小学妹 提交于 2019-12-06 02:16:06
框架搭建说明 1 框架构架图 2 后台框架具体说明 后端框架:springboot2.1.8+springmvc+mybatisPlus3.2 开发语言:java 数据库:mysql5.7 缓存数据库:redis 权限框架:shiro 网关:Spring Gateway 注册中心: 阿里巴巴 nacos eureka(已经停止更新) 熔断器:Sentinel 消息队列:RocketMQ 全文日志分析:ElasticSearch+Logstash+Kibana 数据源管理:druid 所用工具:lombok 开发工具:IntelliJ IDEA 数据设计工具:Power Designer 项目版本控制工具:git 文档管理工具:svn 3.模块搭建具体说明 准备nacos 创建父模块 创建普通子模块 集成feign和sentinel和端口检测 集成网关 集成Elasticsearch 集成RocketMQ 来源: https://my.oschina.net/u/4108086/blog/3135311

专属福利,恒宇少年精心准备了3本自制电子小册

徘徊边缘 提交于 2019-12-05 16:33:13
电子小册 恒宇少年从2017年开始编写 SpringBoot 相关的技术性文章,2018年编写 SpringCloud 相关的技术性文章,到了2019年开始着手编写 ApiBoot 系列的开源框架以及 ApiBoot 内的各个组件使用文章,为了方便大家学习特意将之前的技术文章进行整理归档,合并为电子小册(PDF)的形式,现已合并归档的小册名称如下所示: 1.《SpringBoot核心技术 - 电子小册 - 恒宇少年版》 该电子小册目前从四个方面提供了技术文章,分别是: 基础配置 、 核心提升 、 效率编程 、 扩展使用 等。 由于之前编写的 SpringBoot 相关的技术文章所使用的版本为 1.5.x ,所以对于现在最新的 2.1.x 可能会有一些差异,不过核心的技术内容还是通用的,而且恒宇少年也在继续编写 2.1.x 版本的相关文章,会将新编写的文章陆续加入到本电子小册内,请根据电子小册的更新时间而定。 请关注「程序员恒宇少年」微信公众号后回复 101 获取电子小册的下载地址。 2.《SpringCloud核心技术 - 电子小册 - 恒宇少年版》 该电子小册介绍 SpringCloud 的各个组件使用,其中包含: 服务注册中心 、 GateWay(统一网关) 、 Nacos(阿里巴巴配置中心、服务注册中心) 、 Seata(阿里巴巴分布式事务) 等内容。 新更新相关

Spring Cloud Gateway 扩展支持动态限流

喜你入骨 提交于 2019-12-04 21:19:30
之前分享过 一篇 《Spring Cloud Gateway 原生的接口限流该怎么玩》 , 核心是依赖Spring Cloud Gateway 默认提供的限流过滤器来实现 原生RequestRateLimiter 的不足 配置方式 spring: cloud: gateway: routes: - id: requestratelimiter_route uri: lb://pigx-upms order: 10000 predicates: - Path=/admin/** filters: - name: RequestRateLimiter args: redis-rate-limiter.replenishRate: 1 redis-rate-limiter.burstCapacity: 3 key-resolver: "#{@remoteAddrKeyResolver}" #SPEL表达式去的对应的bean - StripPrefix=1 RequestRateLimiterGatewayFilterFactory public GatewayFilter apply(Config config) { KeyResolver resolver = getOrDefault(config.keyResolver, defaultKeyResolver);

Jenkins集群下的pipeline实战

无人久伴 提交于 2019-12-04 17:40:50
关于Jenkins集群 在 《快速搭建Jenkins集群》 一文中,我们借助docker快速搭建了Jenkins集群,今天就在这个集群环境中创建pipeline任务,体验Jenkins集群下的并行任务; 环境信息 整个集群环境一共有三台电脑,信息如下: | 主机名 | IP地址 | 作用 | |--|--|--| | master | 192.168.133.131 | Jenkins集群的master节点,提供web服务 | | agent1 | 192.168.133.132 | Jenkins集群的一号工作接节点,标签是<font color="blue">maven</font> | | agent2 | 192.168.133.133 | Jenkins集群的二号工作接节点,标签是<font color="blue">gradle</font> | 实战内容 本次实战要体验Jenkins集群同时执行两个任务,都是编译构建GitHub上的热门开源项目: 在agent1上编译和构建spring-cloud-alibaba,再通过scp命令将构建结果传输到master电脑的<font color="blue">/usr/local/build_result</font>目录下; 在agent2编译和构建spring-framework

关于配置中心调研

≡放荡痞女 提交于 2019-12-04 06:44:28
概述 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,分环境、分集群管理配置,代码安全、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。 所以,配置中心应运而生。 环境简介 目前公司使用阿里云管理所有服务,原因是为了降低运维成本——傻瓜式运维。 服务部署使用edas,配置管理使用acm。 调研目的 将所有代码中的基础依赖(如数据库、分布式存储等)相关配置回收到配置中心(acm或其他开源工具)管理,提升安全性,使资源可复用,减少因版本差异带来的开发工作量。 方案比较 方案 优点 缺点 备注 edas-acm 运维介入少,便于维护 扩容不方便,每次扩容都要重新为ecs实例单独授权,授权期间扩容实例服务不可用(4xx、5xx) edas团队有优化计划,但目前无排期 第三方 扩容方便 运维成本较高(服务器、人力),负载能力、稳定性待验证 第三方配置中心产品 Disconf:百度开源的配置管理中心, 目前已经不维护了 Spring Cloud Config: Spring Cloud 生态组件,可以和Spring Cloud体系无缝整合。 Apollo: 携程开源的配置管理中心,具备规范的权限、流程治理等特性。 Nacos:

Java 微服务框架复盘

谁都会走 提交于 2019-12-04 04:10:56
依赖关系. 本次微服务选用的组件如下: redis RabbitMQ MySQL Nacos SpringCloud (github.com/zhoutaoo/SpringCloud) 辅助组件有 docker-1.13.0 /opt/bin/docker-1.13.0/docker-compose version docker-compose version 1.21.0, build 5920eb0 docker-py version: 3.2.1 CPython version: 3.6.5 OpenSSL version: OpenSSL 1.0.1t 3 May 2016 来源: https://my.oschina.net/innovation/blog/3127987

基于Nacos实现SpringCloud微服务配置的中心化、外部化和动态化参考实例

狂风中的少年 提交于 2019-12-04 03:58:21
引言 本文演示如何使用 Nacos Config Starter 完成 Spring Cloud 应用的配置管理。 Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 实现nacos配置中心的价值 动态配置服务可以让你以 中心化 、 外部化 和 动态化 的方式管理所有环境的应用配置和服务配置。 动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。 配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。 Nacos 提供了一个简洁易用的UI (控制台样例 Demo) 帮助你管理所有的服务和应用的配置。Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地在生产环境中管理配置变更和降低配置变更带来的风险。 实现步骤 第一步 配置中心 您需要先下载 Nacos 并启动 Nacos server。 在nacos配置中心新增一个配置,dataId为:myclouds-nacos-config-example-dev.yml 配置内容如下: bankcard: id: 532925 name: xiongchun 第二步 创建示例项目 myclouds-nacos-config-example 项目源码和配置请访问我的

原创|ES广告倒排索引架构演进与优化

送分小仙女□ 提交于 2019-12-03 23:38:38
回顾 之前分享了一篇文章,介绍我们的ES广告倒排索引的架构与优化,我就不介绍了,建议先去看下这篇文章,再回来看这篇,下面只放下之前的架构图 演进 采用 canal 监听 binlog 变更 原有架构是在代码中写 MQ 消息,然后 index_builder 消费消息,写入到两个索引中。但这种方式有个不足是不能覆盖所有的订单或创意变更,所以倒排索引中的数据有的时候和 DB 中是不一致的。同时代码维护起来也比较麻烦。后面我们就引入了阿里开源的框架 canal ,它可以监听 MySQL 的 binlog 的变更,然后把日志发到 Kafka 中, 这样我们只需要在 index_builder 这个工程中消费 Kafka 的消息就行了,省去了在 dsp_adinfo 中发消息。而且 binlog 的变更可以覆盖所有的变更操作。 项目由物理机迁移到云平台 之前 index_builder 部署在物理机上,且 builder 采用主备部署,通过争抢用 zookeeper 实现的分布式锁来决定谁是主,迁移到云平台后,就去掉了这种对主备部署的方式,因为云平台有自动修复的策略。 注意 我们部署的两个 builder 一个为 m 索引,一个为 f 索引,通过环境变量 dsp_index_name 区分是 m 索引 还是 f 索引。同时因为这两个 builder 都要消费 Kafka 的消息,但我们知道

原创|ES广告倒排索引架构演进与优化

倾然丶 夕夏残阳落幕 提交于 2019-12-03 23:36:19
回顾 之前分享了一篇文章,介绍我们的ES广告倒排索引的架构与优化,我就不介绍了,建议先去看下这篇文章,再回来看这篇,下面只放下之前的架构图 演进 采用 canal 监听 binlog 变更 原有架构是在代码中写 MQ 消息,然后 index_builder 消费消息,写入到两个索引中。但这种方式有个不足是不能覆盖所有的订单或创意变更,所以倒排索引中的数据有的时候和 DB 中是不一致的。同时代码维护起来也比较麻烦。后面我们就引入了阿里开源的框架 canal ,它可以监听 MySQL 的 binlog 的变更,然后把日志发到 Kafka 中, 这样我们只需要在 index_builder 这个工程中消费 Kafka 的消息就行了,省去了在 dsp_adinfo 中发消息。而且 binlog 的变更可以覆盖所有的变更操作。 项目由物理机迁移到云平台 之前 index_builder 部署在物理机上,且 builder 采用主备部署,通过争抢用 zookeeper 实现的分布式锁来决定谁是主,迁移到云平台后,就去掉了这种对主备部署的方式,因为云平台有自动修复的策略。 注意 我们部署的两个 builder 一个为 m 索引,一个为 f 索引,通过环境变量 dsp_index_name 区分是 m 索引 还是 f 索引。同时因为这两个 builder 都要消费 Kafka 的消息,但我们知道

基于SpringCloudAlibaba和Nacos构建微服务入门实例

我与影子孤独终老i 提交于 2019-12-01 18:36:31
myclouds3.x 技术预演系列:基于SpringCloudAlibaba和Nacos构建微服务入门实例。 SpringCloudAlibaba简介 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。[ more ] Nacos简介 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。[ more ] 基于SpringCloudAlibaba和Nacos构建微服务入门实例 说明:以查询银行卡信息为业务背景,编写服务提供者服务。 1. 编写服务提供者:myclouds-nacos-discovery-provider-example 1.1. 服务代码 @RestController