Spring Cloud

Spring Cloud微服务安全实战- 2-1 环境安装

萝らか妹 提交于 2020-05-01 03:07:21
下面这些。后续随着讲课逐步再去安装。 2019年1月开始 jdk是收费的 找jdk最后一个免费版本 8u192这是jdk1.8最后的一个免费版本 STS spring提供的ide可以方便的开发spring的项目 搜索结果的第一个 下载的地址: https://spring.io/tools3/sts/all/ mysql https://www.mysql.com/downloads/ 上面的企业版是收钱的。找到最下面的社区办 视频中最新版是8.0.17 用不惯用5.7的版本也可以。课程中没有用到mysql8的新特性,用的都是之前就有的新特性。 选择对应的版本。选择no thanks不用登陆就可以下载 来源: oschina 链接: https://my.oschina.net/u/4365191/blog/3353472

阿里流控中间件sentinel的思考,客观的对比下sentinel和hytrix

寵の児 提交于 2020-04-30 19:32:03
简单说下, sentinel的优势: 友好的控制面板,支持实时监控 多种限流。支持QPS限流,线程数限流,多种限流策略,如:直接拒绝,匀速模式(漏斗),冷启动(如设置限制1000,延迟10秒,那第一秒pass100, 第二秒200,递增,适应于缓存保护) 多种降级模式,支持按平均返回时间降级,按多种异常数降级,按异常比率降级 方便扩展开发,支持SPI模式对chain进行扩展 支持链路的关联,按链路统计限流,系统保护,热门资源保护等等 如果远见点,看到阿里后面也开始弄全家桶了 https://github.com/spring-cloud-incubator/spring-cloud-alibaba 也是可以持续集成的 当然最终的是hytrix也已经停止维护了。 hytrix的优势 hytrix支持异步调用,支持线程池级别的隔离 这种方式就是通过rxJava进行调用,等待完成后进行异步通知调用,但在http这种请求中,主线程还是阻塞在等待中。带来的收益,无非就是hytrix能对超时进行控制。 但坏处也很明显,如果是每个接口创建一个线程池的话,如果接口过多,机器中会创建大量线程,而在java中,线程是属于轻量级的进程,对应是内核线程,进而造成线程的切换。成本还是挺高。 再者每个线程也得需要-Xxs的大小,如果线程数目过多也是一笔不小的花销。 hytrix支持百分比

厉害了,Servlet3的异步处理机制

自古美人都是妖i 提交于 2020-04-30 18:33:38
Servlet3发布好几年了,又有多少人知道它的新特性呢?下面简单介绍下。 主要增加了以下特性: 1、异步处理支持 2、可插性支持 3、注解支持,零配置,可不用配置web.xml ... 异步处理是什么鬼? 直接操起键盘干。 @WebServlet(name = "index", urlPatterns = { "/" }, asyncSupported = true) public class IndexServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html"); try { PrintWriter out = resp.getWriter(); out.println("servlet started.<br/>"); out.flush(); AsyncContext asyncContext = req.startAsync(); asyncContext.addListener(getListener()); asyncContext.start(new

gateway nacos sentinel 三剑客强强组合

喜你入骨 提交于 2020-04-30 18:10:39
介绍 企业级微服务架构( 源码地址 ),Gateway是很重要的组件之一 spring cloud gateway 响应式网关,基于nacos实现动态网关,基于sentinel实现动态限流,sentinel基于nacos数据持久化 软件架构 版本号:gateway、nacos、sentinel的版本号参考父级项目 occo-parent 安装教程 启动注册中心和配置中心Nacos 文档地址: Nacos文档 下载地址: Nacos下载 启动限流服务Sentinel 文档地址: Sentinel文档 下载地址: Sentinel下载 启动网关 下载occo-gateway启动项目 启动gateway 在nacos中建《路由》配置: Data ID: gateway_router Group:DEFAULT_GROUP (默认的) 配置内容:[{"id":"user-server","uri":"lb://kb-user-center","order":0,"predicates":[{"args":{"pattern":"/user/**"},"name":"Path"}],"filters":[{"name":"StripPrefix","args":{"_genkey_0":"1"}}]},{"id":"sso-server","uri":"lb://kb-user-center

厉害了,Servlet3的异步处理机制

安稳与你 提交于 2020-04-30 17:56:21
Servlet3发布好几年了,又有多少人知道它的新特性呢?下面简单介绍下。 主要增加了以下特性: 1、异步处理支持 2、可插性支持 3、注解支持,零配置,可不用配置web.xml ... 异步处理是什么鬼? 直接操起键盘干。 @WebServlet(name = "index", urlPatterns = { "/" }, asyncSupported = true) public class IndexServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html"); try { PrintWriter out = resp.getWriter(); out.println("servlet started.<br/>"); out.flush(); AsyncContext asyncContext = req.startAsync(); asyncContext.addListener(getListener()); asyncContext.start(new

Service Mesh 和 API Gateway 关系深度探讨

半世苍凉 提交于 2020-04-30 11:42:32
前言 关于 Service Mesh 和 API Gateway 之间的关系,这个问题过去两年间经常被问起,社区也有不少文章和资料给出解答。其中不乏 Christian Posta 这样的网红给出过深度介绍。我在这里做一个资料的整理和汇总,结合个人的理解给出一些看法。另外在本文最后,介绍蚂蚁金服在 Service Mesh 和 API Gateway 融合的这个最新领域的一些开创性的实践和探索,希望给大家一个更有体感的认知。 备注1:为了节约篇幅,我们将直奔主题,假定读者对 Service Mesh 和 API Gateway 已有基本的了解。 备注2: 这边文章更关注于梳理整个脉络,内容不会展开的特别细,尤其是其他文章已经详细阐述的部分。如果您在浏览本文之后,还想更深入的了解细节,请继续阅读文章最后的参考资料和推荐阅读。 原本清晰的界限:定位和职责 首先,Service Mesh 和 API Gateway 在功能定位和承担的职责上有非常清晰的界限: Service Mesh:微服务的网络通信基础设施,负责(系统内部的)服务间的通讯; API Gateway: 负责将服务以 API 的形式暴露(给系统外部),以实现业务功能; 如上图所示: 从功能和职责上说: 位于最底层的是拆分好的原子微服务,以服务的形式提供各种能力; 在原子微服务上是(可选的)组合服务

Python爬虫,看看我最近博客都写了啥,带你制作高逼格的数据聚合云图

情到浓时终转凉″ 提交于 2020-04-29 20:48:08
今天一时兴起,想用python爬爬自己的博客,通过数据聚合,制作高逼格的云图(对词汇出现频率视觉上的展示),看看最近我到底写了啥文章。 1.1 爬取文章的标题的聚合 1.2 爬取文章的摘要的聚合 1.3 爬取文章的标题+摘要的聚合 我最近写了SpringCloud系列教程,还有一些微服务架构方面,从云图上看,基本吻合。你若不信, 新航道雅思班 可以进我的博客看看,数据还是非常准确的 开发工具: pycharm 爬虫技术:bs64、requsts、jieba 分析工具:wordArt 整个爬虫架构非常简单: 爬取我的博客:http://blog.csdn.net/forezp 获取数据 将数据用“结巴”库,分词。 将得到的数据在在artword上制作云图。 将制作出来的云图展示给用户。 先根据博客地址爬去数据: 解析标题 解析摘要: 用“结巴”分词,"激8"分词怎么用,看这里:https://github.com/fxsjy/jieba/ 因为数据比较少,所以我直接打印在控制台,并把它复制下来,更好的方法是存在mongodb中。 制作云图: 用 artword在线工具,地址:https://wordart.com 首先: 导入从控制台复制过来的数据: 令人尴尬的是,这个网站在绘制图的时候不支持中文,需要你从c:/windows/fonts下选择一个支持中文的字体,mac

springcloud 集成kafka问题记录,发消息报错:ERROR o.s.kafka.support.LoggingProducerListener

被刻印的时光 ゝ 提交于 2020-04-29 17:16:19
在springcloud集成kafka,发送消息时报错: 2018-08-15 16:01:34.159 [http-nio-8081-exec-1] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka version : 0.10.1.1 2018-08-15 16:01:34.159 [http-nio-8081-exec-1] INFO org.apache.kafka.common.utils.AppInfoParser - Kafka commitId : f10ef2720b03b247 2018-08-15 16:01:36.189 [http-nio-8081-exec-5] INFO com.lolaage.kafka.KafkaSender - 发送消息:123456 2018-08-15 16:02:04.389 [kafka-producer-network-thread | producer-2] ERROR o.s.kafka.support.LoggingProducerListener - Exception thrown when sending a message with key='null' and payload='{-1, 1, 11, 99, 111, 110, 116,

详解 Java 的八大基本类型,写得非常好!

六眼飞鱼酱① 提交于 2020-04-29 17:09:30
自从Java发布以来,基本数据类型就是Java语言中重要的一部分,本文就来详细介绍下每种基本类型的具体使用方法和限制。 几年前,我开始编写了一系列有关Java入门的文章,我觉得有必要将其中一些非常细节的内容单独拿出来写成文章。这样,那些入门内容就更容易理解了。首先,我来介绍一下有关Java 8中的基本类型。 如题所述,Java语言本身有8种基本类型。在下面几节中,就让我们一起来看看这8种基本类型。我将针对每种基本类型,介绍具体的使用方法和限制。 int基本类型 首先,Java的整数是32位有符号(即包括正值和负值)整数,由int关键字表示: int someNumber = 10; 当然,像所有基本类型一样,整型有自己的限制。由于它只有32位,所以其取值范围为-2147483648到2147483647。这数字很大嘛!当然,我们可以在DrJava的交互面板中用下述技巧来确认: Integer.MAX_VALUE // Prints 2,147,483,647 Integer.MIN_VALUE // Prints -2,147,483,648 自然地,对于简单的计算而言,int是最常用的整数类型。如果你需要更大的数字范围,请参照下面的long。 double基本类型 与int不同,Java的双精度类型是64位浮点数,由double关键字表示: double someNumber =

详解 Java 的八大基本类型,写得非常好!

守給你的承諾、 提交于 2020-04-29 16:51:26
自从Java发布以来,基本数据类型就是Java语言中重要的一部分,本文就来详细介绍下每种基本类型的具体使用方法和限制。 几年前,我开始编写了一系列有关Java入门的文章,我觉得有必要将其中一些非常细节的内容单独拿出来写成文章。这样,那些入门内容就更容易理解了。首先,我来介绍一下有关Java 8中的基本类型。 如题所述,Java语言本身有8种基本类型。在下面几节中,就让我们一起来看看这8种基本类型。我将针对每种基本类型,介绍具体的使用方法和限制。 int基本类型 首先,Java的整数是32位有符号(即包括正值和负值)整数,由int关键字表示: int someNumber = 10; 当然,像所有基本类型一样,整型有自己的限制。由于它只有32位,所以其取值范围为-2147483648到2147483647。这数字很大嘛!当然,我们可以在DrJava的交互面板中用下述技巧来确认: Integer.MAX_VALUE // Prints 2,147,483,647 Integer.MIN_VALUE // Prints -2,147,483,648 自然地,对于简单的计算而言,int是最常用的整数类型。如果你需要更大的数字范围,请参照下面的long。 double基本类型 与int不同,Java的双精度类型是64位浮点数,由double关键字表示: double someNumber =