mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-08-01 16:28:03 +08:00
[docs update]网关和maven部分描述完善
This commit is contained in:
parent
f198873b8f
commit
f3d8439436
@ -402,6 +402,7 @@ export const sidebarConfig = sidebar({
|
||||
text: "安全",
|
||||
prefix: "security/",
|
||||
icon: "security-fill",
|
||||
collapsible: true,
|
||||
children: [
|
||||
"basis-of-authority-certification",
|
||||
"jwt-intro",
|
||||
@ -439,12 +440,14 @@ export const sidebarConfig = sidebar({
|
||||
text: "RPC(远程调用)详解",
|
||||
prefix: "rpc/",
|
||||
icon: "network",
|
||||
collapsible: true,
|
||||
children: ["rpc-intro", "dubbo"],
|
||||
},
|
||||
{
|
||||
text: "ZooKeeper 详解",
|
||||
icon: "framework",
|
||||
prefix: "distributed-process-coordination/",
|
||||
collapsible: true,
|
||||
children: [
|
||||
"zookeeper/zookeeper-intro",
|
||||
"zookeeper/zookeeper-plus",
|
||||
|
@ -32,8 +32,10 @@ icon: "gateway"
|
||||
- **监控告警** :从业务指标、机器指标、JVM 指标等方面进行监控并提供配套的告警机制。
|
||||
- **流量控制** :对请求的流量进行控制,也就是限制某一时刻内的请求数。
|
||||
- **熔断降级**:实时监控请求的统计信息,达到配置的失败阈值后,自动熔断,返回默认值。
|
||||
- **请求缓存** : 缓存查询频繁的、数据及时性不敏感的数据以提高性能。
|
||||
- **响应缓存**:当用户请求获取的是一些静态的或更新不频繁的数据时,一段时间内多次请求获取到的数据很可能是一样的。对于这种情况可以将响应缓存起来。这样用户请求可以直接在网关层得到响应数据,无需再去访问业务服务,减轻业务服务的负担。
|
||||
- **响应聚合**:某些情况下用户请求要获取的响应内容可能会来自于多个业务服务。网关作为业务服务的调用方,可以把多个服务的响应整合起来,再一并返回给用户。
|
||||
- **灰度发布** :将请求动态分流到不同的服务版本(最基本的一种灰度发布)。
|
||||
- **异常处理**:对于业务服务返回的异常响应,可以在网关层在返回给用户之前做转换处理。这样可以把一些业务侧返回的异常细节隐藏,转换成用户友好的错误提示返回。
|
||||
- **API 文档:**如果计划将 API 暴露给组织以外的开发人员,那么必须考虑使用 API 文档,例如 Swagger 或 OpenAPI。
|
||||
- **协议转换** :通过协议转换整合后台基于 REST、AMQP、Dubbo 等不同风格和实现技术的微服务,面向 Web Mobile、开放平台等特定客户端提供统一服务。
|
||||
|
||||
@ -80,7 +82,7 @@ Zuul 主要通过过滤器(类似于 AOP)来过滤请求,从而实现网
|
||||
|
||||
SpringCloud Gateway 属于 Spring Cloud 生态系统中的网关,其诞生的目标是为了替代老牌网关 **Zuul **。准确点来说,应该是 Zuul 1.x。SpringCloud Gateway 起步要比 Zuul 2.x 更早。
|
||||
|
||||
为了提升网关的性能,SpringCloud Gateway 基于 Spring WebFlux 。Spring WebFlux 使用 Reactor 库来实现响应式编程模型,底层基于 Netty 实现异步 IO。
|
||||
为了提升网关的性能,SpringCloud Gateway 基于 Spring WebFlux 。Spring WebFlux 使用 Reactor 库来实现响应式编程模型,底层基于 Netty 实现同步非阻塞的 I/O。
|
||||
|
||||

|
||||
|
||||
@ -167,3 +169,4 @@ Shenyu 通过插件扩展功能,插件是 ShenYu 的灵魂,并且插件也
|
||||
|
||||
- Kong 插件开发教程[通俗易懂]:https://cloud.tencent.com/developer/article/2104299
|
||||
- API 网关 Kong 实战:https://xie.infoq.cn/article/10e4dab2de0bdb6f2c3c93da6
|
||||
- Spring Cloud Gateway 原理介绍和应用:https://blog.fintopia.tech/60e27b0e2078082a378ec5ed/
|
||||
|
@ -272,7 +272,7 @@ client.start();
|
||||
InterProcessLock lock1 = new InterProcessMutex(client, lockPath1);
|
||||
// 分布式不可重入排它锁
|
||||
InterProcessLock lock2 = new InterProcessSemaphoreMutex(client, lockPath2);
|
||||
// 锁
|
||||
// 将多个锁作为一个整体
|
||||
InterProcessMultiLock lock = new InterProcessMultiLock(Arrays.asList(lock1, lock2));
|
||||
|
||||
if (!lock.acquire(10, TimeUnit.SECONDS)) {
|
||||
|
@ -20,7 +20,7 @@ category: 开源项目
|
||||
|
||||
另外,我的公众号还会定期分享优质开源项目,每一期我都会精选 5 个高质量的 Java 开源项目。
|
||||
|
||||
目前已经更新到了第 13 期:
|
||||
目前已经更新到了第 16 期:
|
||||
|
||||
1. [一款基于 Spring Boot + Vue 的一站式开源持续测试平台](http://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247515383&idx=1&sn=ba7244020c05d966b483d8c302d54e85&chksm=cea1f33cf9d67a2a111bcf6cadc3cc1c44828ba2302cd3e13bbd88349e43d4254808e6434133&scene=21#wechat_redirect)。
|
||||
2. [用 Java 写个沙盒塔防游戏!已上架 Steam,Apple Store](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247515981&idx=1&sn=e4b9c06af65f739bdcdf76bdc35d59f6&chksm=cea1f086f9d679908bd6604b1c42d67580160d9789951f3707ad2f5de4d97aa72121d8fe777e&token=435278690&lang=zh_CN&scene=21#wechat_redirect)
|
||||
@ -35,6 +35,9 @@ category: 开源项目
|
||||
11. [手写一个简易版数据库!项目经验稳了](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2OTA0Njk0OA==&action=getalbum&album_id=1345382825083895808&scene=173&from_msgid=2247530323&from_itemidx=1&count=3&nolastread=1#wechat_redirect)
|
||||
12. [一款强大的快速开发脚手架,前后端分离,干掉 70% 重复工作!](https://mp.weixin.qq.com/s/Ecjm801RpS34Mhj02bIOsQ)
|
||||
13. [手写一个入门级编译器!YYDS!](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247530783&idx=1&sn=c9fdc0c71e2fc95d88ba954291b07e29&chksm=cea136d4f9d6bfc2931a18a42f7bd9903503963e8a85a318adcce579614c0831b1881be3267d&token=1811572747&lang=zh_CN#rd)
|
||||
14. [8.8k star,这可能是我见过最强的开源支付系统!!](https://mp.weixin.qq.com/s/vfPSXtOgefwonbnP53KlOQ)
|
||||
15. [31.2k!这是我见过最强的后台管理系统 !!](https://mp.weixin.qq.com/s/esaivn2z_66CcrRJlDYLEA)
|
||||
16. [14.3k star,这是我见过最强的第三方登录工具库!!](https://mp.weixin.qq.com/s/6-TnCHUMEIFWQVl-pIWBOA)
|
||||
|
||||
推荐你在我的公众号“**JavaGuide**”回复“**开源**”在线阅读[「优质开源项目推荐」](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg2OTA0Njk0OA==&action=getalbum&album_id=1345382825083895808&scene=173&from_msgid=2247516459&from_itemidx=1&count=3&nolastread=1#wechat_redirect)系列。
|
||||
|
||||
|
@ -87,7 +87,7 @@ head:
|
||||
|
||||
**配置说明** :
|
||||
|
||||
- dependencies: 一个 pom.xml 文件中只能存在一个这样的标签,是用来管理依赖的总标签。
|
||||
- dependencies : 一个 pom.xml 文件中只能存在一个这样的标签,是用来管理依赖的总标签。
|
||||
- dependency:包含在 dependencies 标签中,可以有多个,每一个表示项目的一个依赖。
|
||||
- groupId,artifactId,version(必要):依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven 根据坐标才能找到需要的依赖。我们在上面解释过这些元素的具体意思,这里就不重复提了。
|
||||
- type(可选):依赖的类型,对应于项目坐标定义的 packaging。大部分情况下,该元素不必声明,其默认值是 jar。
|
||||
@ -204,7 +204,7 @@ Maven 在遇到这种问题的时候,会遵循 **路径最短优先** 和 **
|
||||
**如何解决呢?** 我们可以通过`exclusive`标签手动将 X(1.0) 给排除。
|
||||
|
||||
```xml
|
||||
<dependencyB>
|
||||
<dependencyD>
|
||||
......
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
|
Loading…
x
Reference in New Issue
Block a user