微服务与API网关(上): 为什么需要API网关?

本文是来自于Macro在一次大会上的一个分享。 本系列共有两个部分,主要关注我们如何以及为什么要在我们的微服务应用中部署API 网关。第二部分主要关注我们如何把Mashape的开源网关组件Kong运用到我们自己的微服务架构当中。* 目录 0:00 微服务与网关(Microservices & API Gateways) 大家好,我叫Macro,今天我们谈论有关微服务和网关的话...

JS正则表达式完整教程

引言亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣。 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准。 关于正则表达式的教程,网上也有很多,相信你也看了一些。 与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高。 本文内容共有七章,用JavaScript语言完整地讨论了正则表达式的方方面面。 如果觉得文章某块儿没有说明白清楚,欢迎留言...

第七章 正则表达式编程

第七章 正则表达式编程什么叫知识,能指导我们实践的东西才叫知识。 学习一样东西,如果不能使用,最多只能算作纸上谈兵。正则表达式的学习,也不例外。 掌握了正则表达式的语法后,下一步,也是关键的一步,就是在真实世界中使用它。 那么如何使用正则表达式呢?有哪些关键的点呢?本章就解决这个问题。 内容包括: 正则表达式的四种操作 相关API注意要点 真实案例 1. 正则表达式的四种操作正则表达式是...

第六章 正则表达式的构建

第六章 正则表达式的构建对于一门语言的掌握程度怎么样,可以有两个角度来衡量:读和写。 不仅要看懂别人的解决方案,也要能独立地解决问题。代码是这样,正则表达式也是这样。 与“读”相比,“写”往往更为重要,这个道理是不言而喻的。 对正则的运用,首重就是:如何针对问题,构建一个合适的正则表达式? 本章就解决该问题,内容包括: 平衡法则 构建正则前提 准确性 效率 1. 平衡法则构建正则有一点非...

第五章 正则表达式的拆分

第五章 正则表达式的拆分对于一门语言的掌握程度怎么样,可以有两个角度来衡量:读和写。 不仅要求自己能解决问题,还要看懂别人的解决方案。代码是这样,正则表达式也是这样。 正则这门语言跟其他语言有一点不同,它通常就是一大堆字符,而没有所谓“语句”的概念。 如何能正确地把一大串正则拆分成一块一块的,成为了破解“天书”的关键。 本章就解决这一问题,内容包括: 结构和操作符 注意要点 案例分析 1...

第四章 正则表达式回溯法原理

第四章 正则表达式回溯法原理学习正则表达式,是需要懂点儿匹配原理的。 而研究匹配原理时,有两个字出现的频率比较高:“回溯”。 听起来挺高大上,确实还有很多人对此不明不白的。 因此,本章就简单扼要地说清楚回溯到底是什么东西。 内容包括: 没有回溯的匹配 有回溯的匹配 常见的回溯形式 1. 没有回溯的匹配假设我们的正则是/ab{1,3}c/,其可视化形式是: 而当目标字符串是”abbbc”...

第三章 正则表达式括号的作用

第三章 正则表达式括号的作用不管哪门语言中都有括号。正则表达式也是一门语言,而括号的存在使这门语言更为强大。 对括号的使用是否得心应手,是衡量对正则的掌握水平的一个侧面标准。 括号的作用,其实三言两语就能说明白,括号提供了分组,便于我们引用它。 引用某个分组,会有两种情形:在JavaScript里引用它,在正则表达式里引用它。 本章内容虽相对简单,但我也要写长点。 内容包括: 分组和分支结...

第二章 正则表达式位置匹配攻略

第二章 正则表达式位置匹配攻略正则表达式是匹配模式,要么匹配字符,要么匹配位置。请记住这句话。 然而大部分人学习正则时,对于匹配位置的重视程度没有那么高。 本章讲讲正则匹配位置的总总。 内容包括: 什么是位置? 如何匹配位置? 位置的特性 几个应用实例分析 1. 什么是位置呢?位置是相邻字符之间的位置。比如,下图中箭头所指的地方: 2. 如何匹配位置呢?在ES5中,共有6个锚字符: ...

第一章 正则表达式字符匹配攻略

第一章 正则表达式字符匹配攻略正则表达式是匹配模式,要么匹配字符,要么匹配位置。请记住这句话。 然而关于正则如何匹配字符的学习,大部分人都觉得这块比较杂乱。 毕竟元字符太多了,看起来没有系统性,不好记。本章就解决这个问题。 内容包括: 两种模糊匹配 字符组 量词 分支结构 案例分析 1. 两种模糊匹配如果正则只有精确匹配是没多大意义的,比如/hello/,也只能匹配字符串中的”hello...

Spring Cloud实战小贴士:turbine如何聚合设置了context-path的hystrix数据

之前在spring for all社区看到这样一个问题:当actuator端点设置了context-path之后,turbine如何聚合数据?首先,我们要知道actuator端点设置了context-path是什么意思?也就是说,此时spring boot actuator的端点都有了一个前缀,比如: 1management.context-path=/xxx 如果设置了上面的参数,那个对于...