Nacos

即快速又优雅的创建一个微服务项目(archetype项目)?

别来无恙 提交于 2020-02-27 18:12:21
前言 之前一直使用 http://start.spring.io/ 搭建初始化项目,或者编译工具自带的功能创建springboot项目。虽然都是start的jar,但是还是不可避免的要去写配置文件,或一些基本的整合配置,基本上没一个项目这些步骤都跳不掉。 刚好最近接了一个任务搭建基础项目脚手架,于是就有了下面这个项目 https://gitee.com/kinbug/quickstart quickstart 介绍 quickstart:创建一个微服务脚手架,只需要一个maven命令,不光整合了springboot和springcloud Alibaba与所有配置,还加入了代码自动生成工具,并自动带swagger。并实现了分布式表id,和sql注入。懒到极致,让开发更快一步。 懒是什么?懒是一种理智,一种从不会委曲求全的理智。懒也是一种境界,一种平静内心,激荡思绪的境界;懒推动我们整个人类的进步,现如今,更高更快更强这种奥林匹克精神早已传遍五湖四海,这不就是要我们有更高的效率,懒的价值在于节省时间和金钱,在于降低做事的成本。 它告诉我们,不要总是一根弦崩下去,我们要包容它,接受它,懒是人类进步的源泉,正是因为懒,才有了我们如今的繁荣和昌盛,才有了我们面对困难时的从容和不慌不忙。懒得去做,其实没有错,相比那些盲目的,从未思考的奋斗,更有价值。它不仅提升了我们的生活质量

SpringBoot2 整合Nacos组件,环境搭建和入门案例详解

﹥>﹥吖頭↗ 提交于 2020-02-27 14:10:43
本文源码: GitHub·点这里 || GitEE·点这里 一、Nacos基础简介 1、概念简介 Nacos 是构建以“服务”为中心的现代应用架构,如微服务范式、云原生范式等服务基础设施。聚焦于发现、配置和管理微服务。Nacos提供一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理。敏捷构建、交付和管理微服务平台。 2、关键特性 动态配置服务 服务发现和服务健康监测 动态 DNS 服务 服务及其元数据管理 3、专业术语解释 命名空间 用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。 配置集 一组相关或者不相关的配置项的集合称为配置集。在系统中,一个配置文件通常就是一个配置集,包含了系统各个方面的配置。 配置集 ID Nacos 中的某个配置集的ID。配置集ID是组织划分配置的维度之一。DataID通常用于组织划分系统的配置集。 配置分组 Nacos 中的一组配置集,是组织配置的维度之一。通过一个有意义的字符串对配置集进行(Group)分组,从而区分 Data ID 相同的配置集。 配置快照 Nacos 的客户端 SDK 会在本地生成配置的快照。当客户端无法连接到 Nacos Server 时,可以使用配置快照显示系统的整体容灾能力。 服务注册 存储服务实例和服务负载均衡策略的数据库。 服务发现

新年新起点 | Nacos GitHub Star 破万后的回顾和展望

有些话、适合烂在心里 提交于 2020-02-27 06:40:14
2020.01.02 新年伊始,Nacos Star 突破 10000,从此迈上了一个新的里程碑。感谢大家的一路支持、信任和帮助!!! Nacos 开源 17 个月以来,发布了 22 个版本,成功切入 Dubbo/Spring-Cloud/ 云原生三个核心生态。吸引了 88 位优秀贡献者,积累了 110 家企业案例,官网累计获取 20w+ 用户浏览, 2000 UV ,借此机会,我们代表 Nacos 社区一起回顾 Nacos 来时的路,和未来的发展方向。 项目起源 Nacos 在阿里巴巴起源于 2008 年五彩石项目(完成微服务拆分和业务中台建设),成长于十年双十一的洪峰考验,沉淀了简单易用、稳定可靠、性能卓越的核心竞争力。随着云计算兴起,2018 年我们深刻感受到开源软件行业的影响,因此决定将 Nacos(阿里内部 Configserver/Diamond/Vipserver 内核) 开源,输出阿里十年的沉淀,推动微服务行业发展,加速企业数字化转型! 开源后的工作 开源很重要的是生态,而且开发者往往是先选服务框架,再选注册中心和配置中心,因此在 1.0 之前 Nacos 首先支持了国内人气最高的 Dubbo/Spring-Cloud 两个主流服务框架,又在 1.X 版本之后支持了云原生的服务框架。至此 Nacos 目前已经能够支持所有主流服务框架

瘟疫期间在家宅出的 RPC 框架

半腔热情 提交于 2020-02-27 06:31:27
TIANAI-RPC https://gitee.com/tianai/tianai-rpc TIANAI-RPC 码云地址 https://gitee.com/tianai/tianai-rpc-springboot-starter TIANAI-RPC 的springboot快速启动包 如果有兴趣想一起参与的小伙伴欢迎加QQ群: 1021884609 笔者为什么写这个RPC框架呢?? 这一切都要从一只 蝙蝠 说起... 苦思冥想一晚上不得解, 为什么要吃蝙蝠? 难道是想上天??? 瘟疫满天飞 工作不得找 花呗天天催 血从心中流 笔者在兼职都找不到,工作又找不到的双重鼓励下 笔者头悬梁锥刺股耗尽心血写出这个看似很牛x的RPC框架 ​ 该RPC框架目前实现有 基于zookeeper的服务注册 增加基于nacos的服务注册 基于Netty实现的远程通讯 基于hessian2实现的序列化、反序列化 实现了基于轮询策略的负载均衡 使用Netty自带的心跳机制实现心跳机制 实现网络抖动后造成的链接断开后重连 该RPC框架的稳定性通过 本人 基本测试,亦可用于中小型rpc通讯,比 dubbo 更加轻量 TIANAI-RPC基本使用 server端: public class RpcServerImplTest2 { public static void main(String\[\]

nacos入门

时光毁灭记忆、已成空白 提交于 2020-02-27 03:33:41
nocos下载并启动 win下点击startup.cmd即可, 默认端口8848,账户密码均为nacos。 地址栏输入 http://localhost:8848/nacos 创建空项目 在空项目中创建子项目(provider)生产者 同理,创建consumer消费者 添加provider依赖 < dependency > < groupId > org.springframework.cloud </ groupId > < artifactId > spring-cloud-starter-alibaba-nacos-discovery </ artifactId > < version > 0.2.2.RELEASE </ version > </ dependency > <!-- SpringCloud的依赖 --> < dependencyManagement > < dependencies > < dependency > < groupId > org.springframework.cloud </ groupId > < artifactId > spring-cloud-dependencies </ artifactId > < version > Greenwich.SR2 </ version > < type > pom </ type > <

3.nacos牛刀小试之配置中心

故事扮演 提交于 2020-02-26 19:25:37
上一篇介绍了nacos的注册中心,接下来熟悉下nacos另一个功能 配置中心 在分布式应用环境下,集群环境下,修改配置文件怎能少了配置中心,nacos还支持配置文件热更新,使用起来也是十分简单好上手 nacos配置中心 先贴上maven配置 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> 在nacos管理界面中创建配置文件 创建database-dev.yaml与common-dev.yaml配置文件 工程中添加nacos配置文件读取配置 #默认配置 application-name: intf #应用名称 nacos-addr : 127.0.0.1:8848 #nacos地址 nacos-namespace: e63cfaeb-e433-4d44-99f8-c6826644b635 #nacos命名空间 nacos-group: database #group nacos-suffix: yaml #配置文件后缀 spring: profiles: active: dev #dev模式 cloud: nacos: config: file

SEATA 分布式事务入门DEMO

妖精的绣舞 提交于 2020-02-26 16:30:54
> Simple Extensible Autonomous Transacation Architecture, seata 是简单的、可扩展、自主性高的分布式架构 SEATA Server Configure > 因我们使用正式的1.0.0-GA 版本,网上大多数找到的说明都是0.X版本,有不少变动,比如,在server中取消了db_store.sql的脚本,如找不到相关内容,可以通过源码来查找,比如db脚本源码: mysql db script 下载 seata-server 创建数据库( seata ),可自定义,在 file.conf 中要用到。 -- -------------------------------- The script used when storeMode is 'db' -------------------------------- -- the table to store GlobalSession data CREATE TABLE IF NOT EXISTS `global_table` ( `xid` VARCHAR(128) NOT NULL, `transaction_id` BIGINT, `status` TINYINT NOT NULL, `application_id` VARCHAR(32), `transaction

SpringCloud微服务:阿里开源组件Nacos,服务和配置管理

久未见 提交于 2020-02-26 11:28:01
源码地址: GitHub·点这里 || GitEE·点这里 一、阿里微服务简介 1、基础描述 Alibaba-Cloud致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过SpringCloud编程模型轻松使用这些组件来开发分布式应用服务。只需要添加一些注解和少量配置,就可以将SpringCloud应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。 2、核心功能 服务限流降级 默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、SpringCloudGateway,Zuul,Dubbo和RocketMQ限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。 服务注册与发现 适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。 分布式配置管理 支持分布式系统中的外部化配置,配置更改时自动刷新。 消息驱动能力 基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。 分布式事务 使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。 分布式任务调度 提供秒级、精准、高可靠、高可用的定时(基于Cron表达式)任务调度服务

稳定性专题 | Spring Boot 常见错误及解决方法

偶尔善良 提交于 2020-02-25 21:02:53
找不到配置?配置不对?配置被覆盖? Spring Boot 配置加载过程解析: 1、Spring Boot 配置的加载有着约定俗成的步骤: 从 resources 目录下加载 application.properties/application.yml ; 再根据里面的 spring.profiles.active 来加载不同 profile 的配置文件 application-dev.properties/application-dev.yml (比如加载 profile 为 dev 的配置文件)。 2、Spring Boot 所有的配置来源会被构造成 PropertySource,比如 -D 参数, -- 参数, 系统参数, 配置文件配置等等。这些 PropertySource 最终会被添加到 List 中,获取配置的时候会遍历这个 List ,直到第一次获取对应 key 的配置,所以会存在优先级的问题。具体配置的优先级参考: https://stackoverflow.com/a/45822571 配置覆盖案例: Nacos 服务注册的 IP 可以通过 spring.cloud.nacos.discovery.ip 设置,当我们打成 JAR 包之后,如需修改注册 IP,可以通过 -Dspring.cloud.nacos.discovery.ip=xxx(-D

2019年终总结

允我心安 提交于 2020-01-07 02:58:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 序 转眼之间2019年就要过去了,又是到了写总结的时候了。 盘点 去年定了要深入研究流式计算及系统架构,现在看来,流式计算只粗略看了点flink,系统架构方面貌似也没有太多的长进,文章也写的越来越像流水账了,感觉有点惭愧。 展望 新的一年在新技术方面要研究容器化,在基础方面也得巩固一下linux、network等,最后在架构领域方面也要有新的长进。 文章导航 flink 聊聊flink的window操作 聊聊flink的Tumbling Window 聊聊flink的Sliding Window 聊聊flink的Session Window 聊聊flink的Global Window 聊聊flink的Triggers 聊聊flink的Evictors 聊聊flink的Allowed Lateness 聊聊flink的consecutive windowed operations 聊聊flink DataStream的join操作 聊聊flink KeyedStream的intervalJoin操作 聊聊flink DataStream的window coGroup操作 聊聊flink DataStream的connect操作 聊聊flink DataStream的split操作 聊聊flink