alibaba

Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现

佐手、 提交于 2019-11-28 03:26:26
作者 | Spring Cloud Alibaba 高级开发工程师洛夜 来自公众号阿里巴巴中间件投稿 前段时间 Hystrix 宣布不再维护之后( Hystrix 停止开发。。。Spring Cloud 何去何从? ),Feign 作为一个跟 Hystrix 强依赖的组件,必然会有所担心后续的使用。 作为 Spring Cloud Alibaba 体系中的熔断器 Sentinel,Sentinel 目前整合了 Feign,本文对整合过程做一次总结,欢迎大家讨论和使用。 Feign 是什么? Feign 是一个 Java 实现的 Http 客户端,用于简化 Restful 调用。 Feign 跟 OkHttp、HttpClient 这种客户端实现理念不一样。Feign 强调接口的定义,接口中的一个方法对应一个 Http 请求,调用方法即发送一个 Http 请求;OkHttp 或 HttpClient 以过程式的方式发送 Http 请求。Feign 底层发送请求的实现可以跟 OkHttp 或 HttpClient 整合。 要想整合 Feign,首先要了解 Feign 的使用以及执行过程,然后看 Sentinel 如何整合进去。 Feign 的使用 需要两个步骤: 1、使用 @EnableFeignClients 注解开启 Feign 功能 @SpringBootApplication

Alibaba Nacos 学习(二):Spring Cloud Nacos Config

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-27 23:02:18
Alibaba Nacos 学习(一):Nacos介绍与安装 Alibaba Nacos 学习(二):Spring Cloud Nacos Config Alibaba Nacos 学习(三):Spring Cloud Nacos Discovery - FeignClient,Nacos 服务注册与发现 Alibaba Nacos 学习(四):Nacos Docker Alibaba Nacos 学习(五):K8S Nacos搭建,使用nfs Nacos 分布式配置中心 在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件 接入配置中心 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org

Alibaba Nacos 学习(四):Nacos Docker

核能气质少年 提交于 2019-11-27 23:01:29
Alibaba Nacos 学习(一):Nacos介绍与安装 Alibaba Nacos 学习(二):Spring Cloud Nacos Config Alibaba Nacos 学习(三):Spring Cloud Nacos Discovery - FeignClient,Nacos 服务注册与发现 Alibaba Nacos 学习(四):Nacos Docker Alibaba Nacos 学习(五):K8S Nacos搭建,使用nfs docker pull nacos/nacos-server docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server http://192.168.247.131:8848/nacos/index.html 默认账号 nacos/nacos 来源: https://www.cnblogs.com/woxpp/p/11929135.html

Alibaba Nacos 学习(五):K8S Nacos搭建,使用nfs

ぃ、小莉子 提交于 2019-11-27 22:59:26
Alibaba Nacos 学习(一):Nacos介绍与安装 Alibaba Nacos 学习(二):Spring Cloud Nacos Config Alibaba Nacos 学习(三):Spring Cloud Nacos Discovery - FeignClient,Nacos 服务注册与发现 Alibaba Nacos 学习(四):Nacos Docker Alibaba Nacos 学习(五):K8S Nacos搭建,使用nfs 准备环境 Centos7 192.168.50.21 k8s-master 2G Centos7 192.168.50.22 k8s-node01 2G Centos7 192.168.50.23 k8s-node02 2G K8S集群搭建参考 https://www.cnblogs.com/woxpp/p/11875547.html master安装好Git ,yum install git master,node01,node02 安装 nfs-utils yum install nfs-utils master,node01,node02添加nfs exports配置,为了解决后续的nfs报错异常 /data/mysql-slave *(insecure,fsid=0,rw,async,no_root_squash) /data

Alibaba Nacos 学习(三):Spring Cloud Nacos Discovery - FeignClient,Nacos 服务注册与发现

狂风中的少年 提交于 2019-11-27 22:59:02
Alibaba Nacos 学习(一):Nacos介绍与安装 Alibaba Nacos 学习(二):Spring Cloud Nacos Config Alibaba Nacos 学习(三):Spring Cloud Nacos Discovery - FeignClient,Nacos 服务注册与发现 Alibaba Nacos 学习(四):Nacos Docker Alibaba Nacos 学习(五):K8S Nacos搭建,使用nfs 接上一篇 https://www.cnblogs.com/woxpp/p/11908262.html 服务端新增引入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>0.2.1.RELEASE</version> </dependency> 启动类开启服务注册支持 @EnableSwagger2 @SpringBootApplication @EnableDiscoveryClient public class Application { public static void main(String[] args)

Spring Cloud Alibaba基础教程:Sentinel使用Nacos存储规则

∥☆過路亽.° 提交于 2019-11-27 10:01:01
通过上一篇 《使用Sentinel实现接口限流》 的介绍,相信大家对Sentinel已经有了初步的认识。在Spring Cloud Alibaba的整合封装之下,接口限流这件事情可以非常轻易的整合到我们的Spring Cloud应用中。但是,通过上篇的整合,依然还不能完美的满足我们日常的生产需求。其中,非常重要的一点就是限流规则的持久化问题。不少细心的读者也在留言中提出了Dashboard中设置的限流规则在应用重启之后就丢失了的问题。那么,接下来我们就来说说Sentinel的规则持久化如何实现。 使用Nacos存储限流规则 Sentinel自身就支持了多种不同的数据源来持久化规则配置,目前包括以下几种方式: 文件配置 Nacos配置 ZooKeeper配置 Apollo配置 本文我们就来一起动手尝试一下,使用Spring Cloud Alibaba的中整合的配置中心 Nacos 存储限流规则。 准备工作 下面我们将同时使用到 Nacos 和 Sentinel Dashboard ,所以可以先把 Nacos 和 Sentinel Dashboard 启动起来。 默认配置下启动后,它们的访问地址(后续会用到)为: Nacos: http://localhost:8848/ Sentinel Dashboard: http://localhost:8080/ 如果还没入门 Nacos 和

Alibaba Cloud Toolkit,你确定不来尝鲜一下?

故事扮演 提交于 2019-11-26 14:39:00
阿里云出了新的工具,Alibaba Cloud Toolkit,看看“toolkit”这个名字就知道它是一个工具集。 没错!它就是一个工具集,一个集打包部署发布以及探索分析程序的工具集。而我,目前还停留在它一键发布的功能! 这个工具,idea也有版本,我集成的是2019.7.2这个版本! 考虑到idea的plugin仓库在海外,大家可以在这个网站(http://plugins.jetbrains.com/)下载,然后本地安装即可! idea本地安装插件很简单,这里就不做说明。 我在日常开发中,仅仅是将springboot的jar发布到linux机器上,其实还有其他用途!大家可以去官网查阅! 在这里贴一下配置发布jar包linux机器的重要配置,首先,你得告诉Alibaba Cloud Toolkit,你要把jar发布到哪台机器上, 具体到哪个文件路径,然后使用什么命令把它起起来,以及发布前怎么编译jar等,如下图: 由于我是单模块应用,直接clean package即可,多模块的需要先clean install,再clean package对应模块 当然,还有toolkit高级配置,比如包括服务起来之后,根据需要追踪日志! 至此,你就可以将发布应用到指定服务器。 这个插件在我使用过程中,最难的地方,还是脚本的编写,在此,我贴一下官方的说法, 大家在脚本方面应该怎么编写。

Dubbo 成熟度策略.

被刻印的时光 ゝ 提交于 2019-11-26 13:01:31
url: http://dubbo.apache.org/zh-cn/docs/user/maturity.html Dubbo成熟度策略 Feature Maturity Strength Problem Advise User Zookeeper注册中心 Stable 支持基于网络的集群方式,有广泛周边开源产品,建议使用dubbo-2.3.3以上版本(推荐使用) 依赖于Zookeeper的稳定性 可用于生产环境 Redis注册中心 Stable 支持基于客户端双写的集群方式,性能高 要求服务器时间同步,用于检查心跳过期脏数据 可用于生产环境 Multicast注册中心 Tested 去中心化,不需要安装注册中心 依赖于网络拓扑和路由,跨机房有风险 小规模应用或开发测试环境 Simple注册中心 Tested Dogfooding,注册中心本身也是一个标准的RPC服务 没有集群支持,可能单点故障 试用 Feature Maturity Strength Problem Advise User Dubbo协议 Stable 采用NIO复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用) 在大文件传输时,单一连接会成为瓶颈 可用于生产环境 Alibaba Rmi协议 Stable 可与原生RMI互操作,基于TCP协议 偶尔会连接失败,需重建Stub

Dubble 入门

别等时光非礼了梦想. 提交于 2019-11-26 12:44:44
Dubbo 01 架构模型 传统架构 All in One 测试麻烦,微小修改 全都得重新测 单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合在一个应用中的架构方式。其优点为:项目易于管理、部署简单。缺点:测试成本高、可伸缩性差、可靠性差、迭代困难、跨语言程度差、团队协作难 聚合项目划分 单项目容易 因为某个功能导致整体oom 拆分完 咋实现 SOA 架构: Service-Oriented Architecture 面向服务的架构(SOA)是一个组件模型,它将应用程序拆分成不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。 在没有实施SOA的年代,从我们研发的角度来看,只能在代码级别复用,即Ctrl +V。SOA出现,我们开始走向了模块、业务线的复用。 SOA年代的典型实现: SOAP协议,CXF框架,XML传输 xsd,数据校验 SOA架构伴随着软件研发行业20年的发展,在最初的时候,大型it公司内部系统规模越来越大,IT系统越来越复杂,All in One单体架构的思想导致公司内项目业务和数据相互隔离,形成了孤岛。 最初,我们使用数据库作为项目之间数据交互和中转的平台