alibaba

Spring Cloud Alibaba 实战(八)

这一生的挚爱 提交于 2019-12-09 12:37:21
Github 博客地址 本文主要讲解RabbitMQ的介绍和安装,Spring Cloud Stream核心概念,Spring Cloud Alibaba RocketMQ学习,异步消息推送与消费 1 审核业务的实现 com/javaedge/contentcenter/service/content/ShareService.java 假设添加积分操作很耗时,我们的主要操作是审核,而不关心积分,所以可以将其异步化 1.1 Spring实现异步的方法 ◆ AsyncRestTemplate 参考文档 Spring 的异步HTTP请求AsyncRestTemplate ◆ @ Async注解 参考文档 https://spring.io/guides/gs/async-method/ ◆ WebClient ( Spring 5.0引入 ,为取代AsyncRestTemplate) 参考文档 https://docs.spring.io/spring/docs5.1 . RELEASE/spring-framework-reference/web-reactive.html#webflux-client ◆ MQ 我们采用此法 2 引入MQ后的架构演进 3 MQ适用场景 异步处理 流量削峰填谷 解耦微服务 4 MQ的选择 流行的MQ那么多,如何选择? Kafka、RabbitMQ、

java.security.spec.InvalidKeySpecException DerInputStream.getLength(): lengthTag=111, too big.

五迷三道 提交于 2019-12-09 09:22:15
开发接入某某银行支付平台需要用到xml数字签名公钥和私钥,密钥文件统一放到项目下面本地可以但是测试环境找不到路径,然后放入src/main/resources的某个目录下,然后打包部署到测试环境的jboss,测试支付环节加载签名,失败了异常如下。 报错:DerInputStream.getLength(): lengthTag=111, too big. java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : DerInputStream.getLength(): lengthTag=111, too big. at sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:217) at java.security.KeyFactory.generatePrivate(KeyFactory.java:372) at com.msok.signatured.crypto.KryptoUtil.getStoredPrivateKey(KryptoUtil.java:136) at com.msok.signatured.xml.digsig

Spring Cloud Alibaba 笔记

我的未来我决定 提交于 2019-12-07 10:13:34
Spring Cloud Alibaba 笔记 目标 1.服务注册与发现Nacos( http://localhost:8848/nacos ) 2.服务A,服务B 注册到Nacos上实现服务之间互相调用 3.统一配置管理 4.熔断(解决服务蹦了怎么办的问题) 4.网关动态路由到服务上 5.链路追踪 6.消息中间件RocketMQ 7.分布式缓存 准备工作 JDK 1.8+ ,设置好环境变量 ,通过java -version 查看当前JDK版本 Maven 3.2.x+ 查看当前Maven版本 Maven 镜像仓库设置成阿里云的,提高打包,构建的速度。不然的话使用国外的镜像仓库会慢到你无法想象。 修改maven/config/settings.xml <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> 服务注册与发现Nacos # 下载源码 git clone https://github.com/alibaba/nacos.git # 安装到本地仓库 cd nacos/ mvn -Prelease-nacos clean

logback配置Druid Filter

♀尐吖头ヾ 提交于 2019-12-06 22:02:38
现在大多数Druid配置都是log4j作为logger,但是logback作为新一代的日志框架,我们有理由使用logback配置Druid Filter,之前的配置是: dataSourceA.filters=stat,wall,log4j Druid支持配置多种Filter,配置信息保存在druid-xxx.jar!/META-INF/druid-filter.properties下面,具体如下: druid.filters.default=com.alibaba.druid.filter.stat.StatFilter druid.filters.stat=com.alibaba.druid.filter.stat.StatFilter druid.filters.mergeStat=com.alibaba.druid.filter.stat.MergeStatFilter druid.filters.counter=com.alibaba.druid.filter.stat.StatFilter druid.filters.encoding=com.alibaba.druid.filter.encoding.EncodingConvertFilter druid.filters.log4j=com.alibaba.druid.filter.logging

阿里巴巴Dubbo实现的源码分析

。_饼干妹妹 提交于 2019-12-06 11:17:28
1. Dubbo概述 Dubbo是阿里巴巴开源出来的一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及作为 SOA 服务治理的方案。它的核心功能包括: #remoting:远程通讯基础,提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式。 #Cluster: 服务框架核心,提供基于接口方法的远程过程调用,包括多协议支持,并提供软负载均衡和容错机制的集群支持。 #registry: 服务注册中心,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。 由于Dubbo团队的文档和代码都非常优秀,所以更多关于dubbo的方方面面请参考网站 http://code.alibabatech.com/wiki/display/dubbo/Home-zh 。 这里我们只是补充一下从源码具体实现角度来看的某些细节方面,包括Invoker、 ExtensionLoader等方面。任何官方已经介绍过的细节,我们不做画蛇添足,官方文档已经足够详实了,这篇文档的定位是补充实现的相关细节,是基于我在往Dubbo添加web service协议过程中,所碰到过的一些困难。 2. 服务提供者暴露一个服务的详细过程 上图是服务提供者暴露服务的主过程: 首先ServiceConfig类拿到对外提供服务的实际类ref(如

SpringCloud Alibaba微服务实战二 - 服务注册

ぃ、小莉子 提交于 2019-12-06 10:27:23
导读:在之前一篇文章中我们准备好了基于 SpringCloud Alibaba 的基础组件,本期主要内容是将所有的服务注册进 Nacos,并让 account-service 和 product-service 能对外提供基础的增删改查能力。 基础框架搭建 在你的 IDEA 中建立一个多模块的项目(过程略...),项目整体截图如下: 在主 pom 中定义基础组件版本,使用 dependencyManagement 引入版本依赖。 <properties> <java.version>1.8</java.version> <spring-boot.version>2.1.9.RELEASE</spring-boot.version> <springcloud-alibaba.version>0.9.0.RELEASE</springcloud-alibaba.version> <mybatis-plus.version>3.1.1</mybatis-plus.version> <mysql.version>5.1.47</mysql.version> <encoding>UTF-8</encoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven

SpringCloud Alibaba微服务实战一 - 基础环境准备

会有一股神秘感。 提交于 2019-12-06 10:27:12
Springcloud Aibaba现在这么火,我一直想写个基于Springcloud Alibaba一步一步构建微服务架构的系列博客,终于下定决心从今天开始本系列文章的第一篇 - 基础环境准备。 该系列文章内容主要基于三个微服务:用户服务 AccountService ,订单服务 OrderService ,产品服务 ProductService 用到的组件有: 注册中心、配置中心 Nacos 限流 Sentinel 分布式事务 Seata 网关 SpringCloud Gateway 认证授权 Spring Cloud Oauth2 docker、docker-compose 由于用到的组件相对较多,部署会很繁琐,最关键的是没有资源服务器,所以在开发过程中我会逐渐将一些组件使用docker-compose部署。 本篇内容就是使用Dokcer-compose部署Nacos,Sentinel,Mysql,作为后面的系列文章的基础环境。 如果你对docker或者docker-compose不是很熟悉的话,你可以翻看我之前的两篇文章,看完后相信你能很快入手。 Docker基础与实战,看这一篇就够了 Docker-Compose基础与实战,看这一篇就够了 容器化 mysql 由于nacos需要依赖于Mysql作为资源存储,所以在编写完整docker

Spring Cloud Alibaba基础教程:Nacos服务发现与配置管理

家住魔仙堡 提交于 2019-12-06 06:44:55
随着微服务概念的流行,越来越多的公司采用`Spring Cloud`全家桶构建微服务系统,实现业务的快速迭代。`Spring Cloud`提供了快速构建分布式微服务常用组件,包括`Spring Cloud Eureka`、`Spring Cloud Ribbon`、`Spring Cloud Hystrix`、`Spring Cloud Zuul`等等。依赖`Spring`强大生态环境,其已经成为`Java`开发人员构建微服务系统首选解决方案。 本系列文章将带大家认识另一个微服务解决方案`Spring Cloud Alibaba`。依托于`Alibaba`强大的技术支撑,以及`Eureka2.x`不再维护等因素,相信不久的将来`Spring Cloud Alibaba`将会成为大多数公司进行微服务实践的更优选择。 --- 下面向大家介绍[Nacos](https://nacos.io/zh-cn/)的服务注册发现与配置管理功能。 > Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。 > > Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。 ## 一、注册发现 首先需要下载

alibaba开发手册

限于喜欢 提交于 2019-12-05 19:45:04
alibaba开发手册 11.19 强制: 方法参数在定义和传入时,多个参数逗号后边必须加空格。 ​ IDE 的 text file encoding 设置为 UTF-8; IDE 中文件的换行符使用 Unix 格式,不 要使用 Windows 格式。 避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析 成本,直接用类名来访问即可。 Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。 所有整型包装类对象之间值的比较,全部使用 equals 方法比较 浮点数之间的等值判断,基本数据类型不能用==来比较,包装数据类型不能用 equals 来判断 数据库字段的 bigint 必须与类属性的 Long 类型相对应。 为了防止精度损失,禁止使用构造方法 BigDecimal(double)的方式把 double 值转 化为 BigDecimal 对象 构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在 init 方法中。 循环体内,字符串的连接方式,使用 StringBuilder 的 append 方法进行扩展。 final 可以声明类、成员变量、方法、以及本地变量,下列情况使用 final 关键字: 1) 不允许被继承的类,如:String 类。 2) 不允许修改引用的域对象。 3) 不允许被覆写的方法,如

Spring Cloud Alibaba(四)实现Dubbo服务消费

让人想犯罪 __ 提交于 2019-12-05 19:37:56
本项目演示如何使用 Spring Cloud Alibaba 完成 Dubbo 的RPC调用。 Spring Cloud与Dubbo Spring Cloud是一套完整的微服务架构方案 Dubbo是国内目前非常流行的服务治理与RPC实现方案 由于Dubbo在国内有着非常大的用户群体,但是其周边设施与组件相对来说并不那么完善(比如feign,ribbon等等)。很多开发者使用Dubbo,又希望享受Spring Cloud的生态,因此也会有一些Spring Cloud与Dubbo一起使用的案例与方法出现。 Spring Cloud Alibaba的出现,实现了Spring Cloud与Dubbo的完美融合。在之前的教程中,我们已经介绍过使用Spring Cloud Alibaba中的Nacos来作为服务注册中心,并且在此之下可以如传统的Spring Cloud应用一样地使用Ribbon或Feign来实现服务消费。这篇,我们就来继续说说Spring Cloud Alibaba 下额外支持的RPC方案:Dubbo 代码实现 我们通过一个简单的例子,使用Nacos做服务注册中心,利用Dubbo来实现服务提供方与服务消费方。这里省略Nacos的安装与使用,下面就直接进入Dubbo的使用步骤。 定义 Dubbo 服务接口 创建 ali-nacos-dubbo-api 工程 Dubbo