From ccbfb6e62b4d3acd6a069f8e6fcf4cc759e3c374 Mon Sep 17 00:00:00 2001 From: Jason Song Date: Sun, 13 Dec 2020 21:28:38 +0800 Subject: [PATCH] fix docs issues --- docs/_coverpage.md | 15 +++--- docs/index.html | 4 +- docs/zh/README.md | 3 +- docs/zh/_sidebar.md | 46 +++++++++---------- .../distributed-deployment-guide.md | 21 ++++----- docs/zh/deployment/quick-start.md | 1 + .../design/apollo-core-concept-namespace.md | 2 +- docs/zh/design/apollo-design.md | 3 +- docs/zh/design/apollo-introduction.md | 3 +- .../development/apollo-development-guide.md | 1 + ...ues-in-deployment-and-development-phase.md | 8 ++-- docs/zh/usage/apollo-open-api-platform.md | 18 ++++---- docs/zh/usage/apollo-user-guide.md | 13 +++--- docs/zh/usage/apollo-user-practices.md | 4 +- docs/zh/usage/dotnet-sdk-user-guide.md | 5 +- docs/zh/usage/java-sdk-user-guide.md | 9 ++-- .../usage/other-language-client-user-guide.md | 12 ++--- 17 files changed, 83 insertions(+), 85 deletions(-) diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 57d2e3461..af16cda27 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,14 +1,11 @@ -![logo](https://raw.githubusercontent.com/ctripcorp/apollo/master/doc/images/logo/logo.png) - -# Apollo +apollo-logo > A reliable configuration management system -- Multiple environment, cluster, namespace -- Hot change -- Version control -- Gray publish +- Multiple environments and clusters support +- Configuration changes take effect in real time +- Versioned and grayscale releases management +- Great authentication, authorization and audit control [GitHub](https://github.com/ctripcorp/apollo/) -[快速开始](zh/deployment/quick-start.md) -[Quick Start](en/quick-start.md) +[快速开始](zh/deployment/quick-start.md) \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 984aecebf..b509c6284 100644 --- a/docs/index.html +++ b/docs/index.html @@ -34,8 +34,8 @@ loadSidebar: true, loadNavbar: true, mergeNavbar: true, - maxLevel: 4, - subMaxLevel: 3, + maxLevel: 6, + subMaxLevel: 5, name: 'Apollo', repo: 'https://github.com/ctripcorp/apollo/', search: { diff --git a/docs/zh/README.md b/docs/zh/README.md index c0027cff5..ac2c9350c 100644 --- a/docs/zh/README.md +++ b/docs/zh/README.md @@ -71,7 +71,7 @@ Java客户端不依赖任何框架,能够运行于所有Java运行时环境, 5. [Apollo开放平台接入指南](zh/usage/apollo-open-api-platform) 6. [Apollo使用场景和示例代码](https://github.com/ctripcorp/apollo-use-cases) 7. [Apollo实践案例](zh/usage/apollo-user-practices) - 8. [Apollo安全相关最佳实践](zh/usage/apollo-user-guide?id=_71-安全相关) + 8. [Apollo安全相关最佳实践](zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) # Design - [Apollo配置中心设计](zh/design/apollo-design.md) @@ -91,7 +91,6 @@ Java客户端不依赖任何框架,能够运行于所有Java运行时环境, - [Quick Start](zh/deployment/quick-start.md) - [Docker方式部署Quick Start](zh/deployment/quick-start-docker.md) - [分布式部署指南](zh/deployment/distributed-deployment-guide.md) - - [Apollo源码解析(全)](http://www.iocoder.cn/categories/Apollo/) # Release Notes * [版本发布历史](https://github.com/ctripcorp/apollo/releases) diff --git a/docs/zh/_sidebar.md b/docs/zh/_sidebar.md index efb296df5..5036e807c 100644 --- a/docs/zh/_sidebar.md +++ b/docs/zh/_sidebar.md @@ -1,18 +1,17 @@ -- [HOME](zh/README.md) - -- 设计 +- [**首页**](zh/README.md) +- 设计文档 - [Apollo配置中心设计](zh/design/apollo-design.md) - [Apollo配置中心介绍](zh/design/apollo-introduction.md) - [Apollo核心概念之“Namespace”](zh/design/apollo-core-concept-namespace.md) - [Apollo源码解析(全)](http://www.iocoder.cn/categories/Apollo/) -- 部署 +- 部署文档 - [Quick Start](zh/deployment/quick-start.md) - [Docker方式部署Quick Start](zh/deployment/quick-start-docker.md) - [分布式部署指南](zh/deployment/distributed-deployment-guide.md) -- 开发 +- 开发文档 - [Apollo开发指南](zh/development/apollo-development-guide.md) - Code Styles - [Eclipse Code Style](https://github.com/ctripcorp/apollo/blob/master/apollo-buildtools/style/eclipse-java-google-style.xml) @@ -20,22 +19,21 @@ - [Portal实现用户登录功能](zh/development/portal-how-to-implement-user-login-function.md) - [邮件模板样例](zh/development/email-template-samples.md) -* 系统使用 - * [Apollo使用指南](zh/usage/apollo-user-guide.md) - * [Java客户端使用指南](zh/usage/java-sdk-user-guide.md) - * [.Net客户端使用指南](zh/usage/dotnet-sdk-user-guide.md) - * [Go、Python、NodeJS、PHP等客户端使用指南](zh/usage/third-party-sdks-user-guide.md) - * [其它语言客户端接入指南](zh/usage/other-language-client-user-guide.md) - * [Apollo开放平台接入指南](zh/usage/apollo-open-api-platform.md) - * [Apollo使用场景和示例代码](https://github.com/ctripcorp/apollo-use-cases) - * [Apollo实践案例](zh/usage/apollo-user-practices.md) - * [Apollo安全相关最佳实践](zh/usage/apollo-user-guide?id=_71-安全相关) - -* FAQ - * [常见问题回答](zh/faq/faq.md) - * [部署&开发遇到的常见问题](zh/faq/common-issues-in-deployment-and-development-phase.md) - -* 其它 - * [Apollo性能测试报告](zh/misc/apollo-benchmark.md) - -- [Releases](https://github.com/ctripcorp/apollo/releases) \ No newline at end of file +- 系统使用文档 + - [Apollo使用指南](zh/usage/apollo-user-guide.md) + - [Java客户端使用指南](zh/usage/java-sdk-user-guide.md) + - [.Net客户端使用指南](zh/usage/dotnet-sdk-user-guide.md) + - [Go、Python、NodeJS、PHP等客户端使用指南](zh/usage/third-party-sdks-user-guide.md) + - [其它语言客户端接入指南](zh/usage/other-language-client-user-guide.md) + - [Apollo开放平台接入指南](zh/usage/apollo-open-api-platform.md) + - [Apollo使用场景和示例代码](https://github.com/ctripcorp/apollo-use-cases) + - [Apollo实践案例](zh/usage/apollo-user-practices.md) + - [Apollo安全相关最佳实践](zh/usage/apollo-user-guide?id=_71-%e5%ae%89%e5%85%a8%e7%9b%b8%e5%85%b3) + +- FAQ + - [常见问题回答](zh/faq/faq.md) + - [部署&开发遇到的常见问题](zh/faq/common-issues-in-deployment-and-development-phase.md) + +- 其它 + - [版本历史](https://github.com/ctripcorp/apollo/releases) + - [Apollo性能测试报告](zh/misc/apollo-benchmark.md) \ No newline at end of file diff --git a/docs/zh/deployment/distributed-deployment-guide.md b/docs/zh/deployment/distributed-deployment-guide.md index 7a93da85a..d5d7297c0 100644 --- a/docs/zh/deployment/distributed-deployment-guide.md +++ b/docs/zh/deployment/distributed-deployment-guide.md @@ -2,15 +2,16 @@ > 如果只是需要在本地快速部署试用Apollo的话,可以参考[Quick Start](zh/deployment/quick-start) +#   # 一、准备工作 ## 1.1 运行时环境 -## 1.1.1 OS +### 1.1.1 OS 服务端基于Spring Boot,启动脚本理论上支持所有Linux发行版,建议[CentOS 7](https://www.centos.org/)。 -## 1.1.2 Java +### 1.1.2 Java * Apollo服务端:1.8+ * Apollo客户端:1.7+ @@ -67,7 +68,7 @@ Apollo目前支持以下环境: * PRO * 生产环境 -> 如果希望添加自定义的环境名称,具体步骤可以参考[部署&开发遇到的常见问题#42-添加自定义的环境](zh/faq/common-issues-in-deployment-and-development-phase?id=_4-portal如何增加环境?) +> 如果希望添加自定义的环境名称,具体步骤可以参考[Portal如何增加环境](zh/faq/common-issues-in-deployment-and-development-phase?id=_4-portal如何增加环境?) 以ctrip为例,我们的部署策略如下: ![Deployment](https://raw.githubusercontent.com/ctripcorp/apollo/master/doc/images/apollo-deployment.png) @@ -208,7 +209,7 @@ select `Id`, `Key`, `Value`, `Comment` from `ApolloConfigDB`.`ServerConfig` limi > 注:ApolloConfigDB需要在每个环境部署一套,如fat、uat和pro分别部署3套ApolloConfigDB -#### 2.1.2.1 从别的环境导入ApolloConfigDB的项目数据 +#### 2.1.2.4 从别的环境导入ApolloConfigDB的项目数据 如果是全新部署的Apollo配置中心,请忽略此步。 如果不是全新部署的Apollo配置中心,比如已经使用了一段时间,这时在Apollo配置中心已经创建了不少项目以及namespace等,那么在新环境中的ApolloConfigDB中需要从其它正常运行的环境中导入必要的项目数据。 @@ -249,11 +250,11 @@ DEV,FAT,UAT,PRO 修改完需要重启生效。 ->注1:一套Portal可以管理多个环境,但是每个环境都需要独立部署一套Config Service、Admin Service和ApolloConfigDB,具体请参考:[2.1.2 创建ApolloConfigDB](#_212-创建apolloconfigdb),[2.1.3.2 调整ApolloConfigDB配置](#_2132-调整apolloconfigdb配置),[2.2.1.1.2 配置数据库连接信息](#_22112-配置数据库连接信息),另外如果是为已经运行了一段时间的Apollo配置中心增加环境,别忘了参考[2.1.2.1 从别的环境导入ApolloConfigDB的项目数据](#_2121-从别的环境导入apolloconfigdb的项目数据)对新的环境做初始化。 +>注1:一套Portal可以管理多个环境,但是每个环境都需要独立部署一套Config Service、Admin Service和ApolloConfigDB,具体请参考:[2.1.2 创建ApolloConfigDB](#_212-创建apolloconfigdb),[2.1.3.2 调整ApolloConfigDB配置](#_2132-调整apolloconfigdb配置),[2.2.1.1.2 配置数据库连接信息](#_22112-配置数据库连接信息),另外如果是为已经运行了一段时间的Apollo配置中心增加环境,别忘了参考[2.1.2.4 从别的环境导入ApolloConfigDB的项目数据](#_2124-从别的环境导入apolloconfigdb的项目数据)对新的环境做初始化。 ->注2:只在数据库添加环境是不起作用的,还需要为apollo-portal添加新增环境对应的meta server地址,具体参考:[2.2.1.1.2.4 配置apollo-portal的meta service信息](#221124-%E9%85%8D%E7%BD%AEapollo-portal%E7%9A%84meta-service%E4%BF%A1%E6%81%AF)。apollo-client在新的环境下使用时也需要做好相应的配置,具体参考:[1.2.2 Apollo Meta Server](zh/usage/java-sdk-user-guide#_122-apollo-meta-server)。 +>注2:只在数据库添加环境是不起作用的,还需要为apollo-portal添加新增环境对应的meta server地址,具体参考:[2.2.1.1.2.4 配置apollo-portal的meta service信息](#_221124-配置apollo-portal的meta-service信息)。apollo-client在新的环境下使用时也需要做好相应的配置,具体参考:[1.2.2 Apollo Meta Server](zh/usage/java-sdk-user-guide#_122-apollo-meta-server)。 ->注3:如果希望添加自定义的环境名称,具体步骤可以参考[Portal如何增加环境](zh/%E9%83%A8%E7%BD%B2&%E5%BC%80%E5%8F%91%E9%81%87%E5%88%B0%E7%9A%84%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98#4-portal%E5%A6%82%E4%BD%95%E5%A2%9E%E5%8A%A0%E7%8E%AF%E5%A2%83)。 +>注3:如果希望添加自定义的环境名称,具体步骤可以参考[Portal如何增加环境](zh/faq/common-issues-in-deployment-and-development-phase?id=_4-portal如何增加环境?)。 >注4:1.1.0版本增加了系统信息页面(`管理员工具` -> `系统信息`),可以通过该页面检查配置是否正确 @@ -730,9 +731,7 @@ docker run -p 8070:8070 \ * APOLLO_PORTAL_ENVS(可选): 对应ApolloPortalDB中的[apollo.portal.envs](#_1-apolloportalenvs-可支持的环境列表)配置项,如果没有在数据库中配置的话,可以通过此环境参数配置 * DEV_META/PRO_META(可选): 配置对应环境的Meta Service地址,以${ENV}_META命名,需要注意的是如果配置了ApolloPortalDB中的[apollo.portal.meta.servers](#_2-apolloportalmetaservers-各环境meta-service列表)配置,则以apollo.portal.meta.servers中的配置为准 -### 2.3.2 - -> 1.7.0之前的版本 +### 2.3.2 1.7.0之前的版本 Apollo项目已经自带了Docker file,可以参照[2.2.1 获取安装包](#_221-获取安装包)配置好安装包后通过下面的文件来打Docker镜像: @@ -792,7 +791,7 @@ Get meta service url for current release by running these commands: echo http://apollo-service-dev-apollo-configservice:8080 ``` -> 更多配置项说明可以参考[2.4.1.3.3 配置项说明](#_24143-配置项说明) +> 更多配置项说明可以参考[2.4.1.3.3 配置项说明](#_24133-配置项说明) ##### 2.4.1.3.2 卸载apollo-configservice和apollo-adminservice diff --git a/docs/zh/deployment/quick-start.md b/docs/zh/deployment/quick-start.md index 8c3dde02b..456433738 100644 --- a/docs/zh/deployment/quick-start.md +++ b/docs/zh/deployment/quick-start.md @@ -6,6 +6,7 @@ > 注:Quick Start需要有bash环境,Windows用户请安装[Git Bash](https://git-for-windows.github.io/),建议使用最新版本,老版本可能会遇到未知问题。也可以直接通过IDE环境启动,详见[Apollo开发指南](zh/development/apollo-development-guide)。 +#   # 一、准备工作 ## 1.1 Java diff --git a/docs/zh/design/apollo-core-concept-namespace.md b/docs/zh/design/apollo-core-concept-namespace.md index dadb7af77..baaa9c382 100644 --- a/docs/zh/design/apollo-core-concept-namespace.md +++ b/docs/zh/design/apollo-core-concept-namespace.md @@ -151,7 +151,7 @@ k2 = v2 publicConfig.getProperty("k6", null); // k6 = v6 publicConfig.getProperty("k7", null); // k7 = v7 ``` -#### 5.4.4 ChangeListener +##### 5.4.4 ChangeListener 以上代码例子中可以看到,在客户端Namespace映射成一个Config对象。Namespace配置变更的监听器是注册在Config对象上。 diff --git a/docs/zh/design/apollo-design.md b/docs/zh/design/apollo-design.md index 153a01b2b..fec2df421 100644 --- a/docs/zh/design/apollo-design.md +++ b/docs/zh/design/apollo-design.md @@ -1,3 +1,4 @@ +#   # 一、总体设计 ## 1.1 基础模型 @@ -140,7 +141,7 @@ 3. Admin Service发布配置后,发送ReleaseMessage给各个Config Service 4. Config Service收到ReleaseMessage后,通知对应的客户端 -## 2.1.1 发送ReleaseMessage的实现方式 +### 2.1.1 发送ReleaseMessage的实现方式 Admin Service在配置发布后,需要通知所有的Config Service有配置发布,从而Config Service可以通知对应的客户端来拉取最新的配置。 diff --git a/docs/zh/design/apollo-introduction.md b/docs/zh/design/apollo-introduction.md index fe9d8c403..ed6db007a 100644 --- a/docs/zh/design/apollo-introduction.md +++ b/docs/zh/design/apollo-introduction.md @@ -1,3 +1,4 @@ +#   # 1、What is Apollo ## 1.1 背景 @@ -230,7 +231,7 @@ public class SomeBean { ### 4.2.2 在Cluster中添加配置并发布 -集群添加成功后,就可以为该集群添加配置了,首先需要按照下图所示切换到SHAJQ集群,之后配置添加流程和[3.2添加/修改配置项](#32-%E6%B7%BB%E5%8A%A0%E4%BF%AE%E6%94%B9%E9%85%8D%E7%BD%AE%E9%A1%B9)一样,这里就不再赘述了。 +集群添加成功后,就可以为该集群添加配置了,首先需要按照下图所示切换到SHAJQ集群,之后配置添加流程和[3.3 添加/修改配置项](#_33-添加修改配置项)一样,这里就不再赘述了。 ![cluster-created](https://raw.githubusercontent.com/ctripcorp/apollo/master/doc/images/cluster-created.png) diff --git a/docs/zh/development/apollo-development-guide.md b/docs/zh/development/apollo-development-guide.md index 4f7300111..aadad7153 100644 --- a/docs/zh/development/apollo-development-guide.md +++ b/docs/zh/development/apollo-development-guide.md @@ -1,5 +1,6 @@ 本文档介绍了如何在本地使用IDE编译、运行Apollo,从而可以帮助大家了解Apollo的内在运行机制,同时也为自定义开发做好准备。 +#   # 一、准备工作 ## 1.1 本地运行时环境 Apollo本地开发需要以下组件: diff --git a/docs/zh/faq/common-issues-in-deployment-and-development-phase.md b/docs/zh/faq/common-issues-in-deployment-and-development-phase.md index 3301a04a7..742b10896 100644 --- a/docs/zh/faq/common-issues-in-deployment-and-development-phase.md +++ b/docs/zh/faq/common-issues-in-deployment-and-development-phase.md @@ -72,7 +72,7 @@ eureka: >注1:一套Portal可以管理多个环境,但是每个环境都需要独立部署一套Config Service、Admin Service和ApolloConfigDB,具体请参考:[2.1.2 创建ApolloConfigDB](zh/deployment/distributed-deployment-guide?id=_212-创建apolloconfigdb),[2.1.3.2 调整ApolloConfigDB配置](zh/deployment/distributed-deployment-guide?id=_2132-调整apolloconfigdb配置),[2.2.1.1.2 配置数据库连接信息](zh/deployment/distributed-deployment-guide?id=_22112-配置数据库连接信息) -> 注2:如果是为已经运行了一段时间的Apollo配置中心增加环境,别忘了参考[2.1.2.1 从别的环境导入ApolloConfigDB的项目数据](zh/deployment/distributed-deployment-guide?id=_2121-从别的环境导入apolloconfigdb的项目数据)对新的环境做初始化 +> 注2:如果是为已经运行了一段时间的Apollo配置中心增加环境,别忘了参考[2.1.2.4 从别的环境导入ApolloConfigDB的项目数据](zh/deployment/distributed-deployment-guide?id=_2124-从别的环境导入apolloconfigdb的项目数据)对新的环境做初始化 #### 4.2 1.5.1及之前的版本 ##### 4.2.1 添加Apollo预先定义好的环境 @@ -83,7 +83,7 @@ eureka: >注1:一套Portal可以管理多个环境,但是每个环境都需要独立部署一套Config Service、Admin Service和ApolloConfigDB,具体请参考:[2.1.2 创建ApolloConfigDB](zh/deployment/distributed-deployment-guide?id=_212-创建apolloconfigdb),[2.1.3.2 调整ApolloConfigDB配置](zh/deployment/distributed-deployment-guide?id=_2132-调整apolloconfigdb配置),[2.2.1.1.2 配置数据库连接信息](zh/deployment/distributed-deployment-guide?id=_22112-配置数据库连接信息) -> 注2:如果是为已经运行了一段时间的Apollo配置中心增加环境,别忘了参考[2.1.2.1 从别的环境导入ApolloConfigDB的项目数据](zh/deployment/distributed-deployment-guide?id=_2121-从别的环境导入apolloconfigdb的项目数据)对新的环境做初始化 +> 注2:如果是为已经运行了一段时间的Apollo配置中心增加环境,别忘了参考[2.1.2.4 从别的环境导入ApolloConfigDB的项目数据](zh/deployment/distributed-deployment-guide?id=_2124-从别的环境导入apolloconfigdb的项目数据)对新的环境做初始化 ##### 4.2.2 添加自定义的环境 @@ -139,7 +139,7 @@ public class LegacyMetaServerProvider { >注1:一套Portal可以管理多个环境,但是每个环境都需要独立部署一套Config Service、Admin Service和ApolloConfigDB,具体请参考:[2.1.2 创建ApolloConfigDB](zh/deployment/distributed-deployment-guide?id=_212-创建apolloconfigdb),[2.1.3.2 调整ApolloConfigDB配置](zh/deployment/distributed-deployment-guide?id=_2132-调整apolloconfigdb配置),[2.2.1.1.2 配置数据库连接信息](zh/deployment/distributed-deployment-guide?id=_22112-配置数据库连接信息) -> 注2:如果是为已经运行了一段时间的Apollo配置中心增加环境,别忘了参考[2.1.2.1 从别的环境导入ApolloConfigDB的项目数据](zh/deployment/distributed-deployment-guide?id=_2121-从别的环境导入apolloconfigdb的项目数据)对新的环境做初始化 +> 注2:如果是为已经运行了一段时间的Apollo配置中心增加环境,别忘了参考[2.1.2.4 从别的环境导入ApolloConfigDB的项目数据](zh/deployment/distributed-deployment-guide?id=_2124-从别的环境导入apolloconfigdb的项目数据)对新的环境做初始化 ### 5. 如何删除应用、集群、Namespace? @@ -225,7 +225,7 @@ http://1.1.1.1:8761/eureka/,http://2.2.2.2:8761/eureka/ ### 9. Spring Boot中使用`ConditionalOnProperty`读取不到配置 -`@ConditionalOnProperty`功能从0.10.0版本开始支持,具体可以参考 [3.2.1.3 在Spring Boot初始bootstrap阶段注入配置](zh/usage/java-sdk-user-guide?id=_322-spring-placeholder的使用) +`@ConditionalOnProperty`功能从0.10.0版本开始支持,具体可以参考 [Spring Boot集成方式](zh/usage/java-sdk-user-guide?id=_3213-spring-boot集成方式(推荐)) ### 10. 多机房如何实现A机房的客户端就近读取A机房的config service,B机房的客户端就近读取B机房的config service? diff --git a/docs/zh/usage/apollo-open-api-platform.md b/docs/zh/usage/apollo-open-api-platform.md index 807bae95f..8e1165efe 100644 --- a/docs/zh/usage/apollo-open-api-platform.md +++ b/docs/zh/usage/apollo-open-api-platform.md @@ -35,7 +35,7 @@ Apollo管理员在 http://{portal_address}/open/manage.html 创建第三方应 com.ctrip.framework.apollo apollo-openapi - 1.1.0 + 1.7.0 ``` @@ -159,7 +159,7 @@ appIds | false | String | appId列表,以逗号分隔,如果为空则返回 } ``` -#### 3.2.4 创建集群接口 +##### 3.2.4 创建集群接口 可以通过此接口创建集群,调用此接口需要授予第三方APP对目标APP的管理权限。 * **URL** : http://{portal_address}/openapi/v1/envs/{env}/apps/{appId}/clusters @@ -284,7 +284,7 @@ dataChangeCreatedBy | true | String | namespace的创建人,格式为域账号 "dataChangeLastModifiedTime": "2016-07-20T14:05:58.000+0800" } ``` -#### 3.2.7 创建Namespace +##### 3.2.7 创建Namespace 可以通过此接口创建Namespace,调用此接口需要授予第三方APP对目标APP的管理权限。 * **URL** : http://{portal_address}/openapi/v1/apps/{appId}/appnamespaces @@ -454,7 +454,7 @@ operator | true | String | 删除配置的操作者,域账号 * **返回值** : 无 -##### 3.2.11 发布配置接口 +##### 3.2.13 发布配置接口 * **URL** : http://{portal_address}/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases * **Method** : POST @@ -496,7 +496,7 @@ releasedBy | true | String | 发布人,域账号,注意:如果`ApolloConfi } ``` -##### 3.2.12 获取某个Namespace当前生效的已发布配置接口 +##### 3.2.14 获取某个Namespace当前生效的已发布配置接口 * **URL** : http://{portal_address}/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/latest * **Method** : GET @@ -520,7 +520,7 @@ releasedBy | true | String | 发布人,域账号,注意:如果`ApolloConfi } ``` -##### 3.2.13 回滚已发布配置接口 +##### 3.2.15 回滚已发布配置接口 * **URL** : http://{portal_address}/openapi/v1/envs/{env}/releases/{releaseId}/rollback * **Method** : PUT @@ -542,11 +542,11 @@ operator | true | String | 删除配置的操作者,域账号 接口传入的token非法或者已过期,客户端需要检查token是否传入正确。 #### 4.3 403 - Forbidden 接口要访问的资源未得到授权,比如只授权了对A应用下Namespace的管理权限,但是却尝试管理B应用下的配置。 -#### 4.3 404 - Not Found +#### 4.4 404 - Not Found 接口要访问的资源不存在,一般是URL或URL的参数错误。 -#### 4.4 405 - Method Not Allowed +#### 4.5 405 - Method Not Allowed 接口访问的Method不正确,比如应该使用POST的接口使用了GET访问等,客户端需要检查接口访问方式是否正确。 -#### 4.4 500 - Internal Server Error +#### 4.6 500 - Internal Server Error 其它类型的错误默认都会返回500,对这类错误如果应用无法根据提示信息找到原因的话,可以找Apollo研发团队一起排查问题。 diff --git a/docs/zh/usage/apollo-user-guide.md b/docs/zh/usage/apollo-user-guide.md index 522830ad4..d94c92d53 100644 --- a/docs/zh/usage/apollo-user-guide.md +++ b/docs/zh/usage/apollo-user-guide.md @@ -1,3 +1,4 @@ +#   # 名词解释 * 普通应用 * 普通应用指的是独立运行的程序,如 @@ -137,8 +138,8 @@ Apollo中的回滚也是类似的机制,点击回滚后是将发布到客户 所以,首先执行普通应用接入文档中的以下几个步骤,然后再按照本章节后面的步骤操作。 -1. [创建项目](#11-%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE) -2. [项目管理员权限](#121-%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E5%91%98%E6%9D%83%E9%99%90) +1. [创建项目](#_11-%E5%88%9B%E5%BB%BA%E9%A1%B9%E7%9B%AE) +2. [项目管理员权限](#_121-%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E5%91%98%E6%9D%83%E9%99%90) ### 2.2.1 创建Namespace @@ -183,8 +184,8 @@ Apollo中的回滚也是类似的机制,点击回滚后是将发布到客户 3. 点击提交 ![public-namespace-item-created](https://raw.githubusercontent.com/ctripcorp/apollo/master/doc/images/public-namespace-item-created.png) -#### 2.2.2.3 通过文本模式编辑 -这部分和普通应用一致,具体步骤请参见[1.3.2 通过文本模式编辑](#132-%E9%80%9A%E8%BF%87%E6%96%87%E6%9C%AC%E6%A8%A1%E5%BC%8F%E7%BC%96%E8%BE%91)。 +#### 2.2.2.2 通过文本模式编辑 +这部分和普通应用一致,具体步骤请参见[1.3.2 通过文本模式编辑](#_132-%E9%80%9A%E8%BF%87%E6%96%87%E6%9C%AC%E6%A8%A1%E5%BC%8F%E7%BC%96%E8%BE%91)。 ### 2.2.3 发布配置 @@ -289,7 +290,7 @@ Apollo目前提供Java客户端,具体信息请点击[Java客户端使用文 如果某个AppId需要覆盖公共的配置信息,那么在该AppId下关联公共的namespace并写入需要覆盖的配置即可。 -具体步骤可以参考[公共组件接入指南](#%E4%BA%8C%E5%85%AC%E5%85%B1%E7%BB%84%E4%BB%B6%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97)。 +具体步骤可以参考[公共组件接入指南](#%e4%ba%8c%e3%80%81%e5%85%ac%e5%85%b1%e7%bb%84%e4%bb%b6%e6%8e%a5%e5%85%a5%e6%8c%87%e5%8d%97)。 # 五、灰度发布使用指南 通过灰度发布功能,可以实现: @@ -460,5 +461,5 @@ Apollo 支持细粒度的权限控制,请务必根据实际情况做好权限 除了用户权限,在系统访问上也需要加以考虑: 1. `apollo-configservice`和`apollo-adminservice`是基于内网可信网络设计的,所以出于安全考虑,禁止`apollo-configservice`和`apollo-adminservice`直接暴露在公网 -2. 对敏感配置可以考虑开启[访问秘钥](#62-%E9%85%8D%E7%BD%AE%E8%AE%BF%E9%97%AE%E7%A7%98%E9%92%A5),从而只有经过身份验证的客户端才能访问敏感配置 +2. 对敏感配置可以考虑开启[访问秘钥](#_62-%e9%85%8d%e7%bd%ae%e8%ae%bf%e9%97%ae%e5%af%86%e9%92%a5),从而只有经过身份验证的客户端才能访问敏感配置 3. 1.7.1及以上版本可以考虑为`apollo-adminservice`开启[访问控制](zh/deployment/distributed-deployment-guide?id=_6-admin-serviceaccesscontrolenabled-配置apollo-adminservice是否开启访问控制),从而只有合法的`apollo-portal`才能访问对应接口,增强安全性 \ No newline at end of file diff --git a/docs/zh/usage/apollo-user-practices.md b/docs/zh/usage/apollo-user-practices.md index 4172ed56d..1019c94a3 100644 --- a/docs/zh/usage/apollo-user-practices.md +++ b/docs/zh/usage/apollo-user-practices.md @@ -1,6 +1,4 @@ Apollo 配置中心的实践案例,供大家参考: * [Apollo+ES源码改造,构建民生银行的ELK日志平台配置管理中心](https://mp.weixin.qq.com/s/VHugn0vgNu4m56V49geC4w) -* [Apollo在有赞的实践](https://mp.weixin.qq.com/s/Ge14UeY9Gm2Hrk--E47eJQ) - -> 如您有案例希望分享,欢迎提交 Pull Request 至 [apollo-community](https://github.com/ctripcorp/apollo-community) \ No newline at end of file +* [Apollo在有赞的实践](https://mp.weixin.qq.com/s/Ge14UeY9Gm2Hrk--E47eJQ) \ No newline at end of file diff --git a/docs/zh/usage/dotnet-sdk-user-guide.md b/docs/zh/usage/dotnet-sdk-user-guide.md index 813945ddb..d45e97fe0 100644 --- a/docs/zh/usage/dotnet-sdk-user-guide.md +++ b/docs/zh/usage/dotnet-sdk-user-guide.md @@ -1,5 +1,6 @@ ->注意:本文档适用对象是Apollo系统的使用者,如果你是公司内Apollo系统的开发者/维护人员,建议先参考[Apollo开发指南](zh/Apollo%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97)。 +>注意:本文档适用对象是Apollo系统的使用者,如果你是公司内Apollo系统的开发者/维护人员,建议先参考[Apollo开发指南](zh/development/apollo-development-guide)。 +#   # 一、准备工作 ## 1.1 环境要求 @@ -222,5 +223,5 @@ appId就是应用的appId,如100004458。 } ``` -### 5.3 修改配置 +## 5.3 修改配置 在本地开发模式下,Apollo不会实时监测文件内容是否有变化,所以如果修改了配置,需要重启应用生效。 \ No newline at end of file diff --git a/docs/zh/usage/java-sdk-user-guide.md b/docs/zh/usage/java-sdk-user-guide.md index 6d22bd20c..2f93e794f 100644 --- a/docs/zh/usage/java-sdk-user-guide.md +++ b/docs/zh/usage/java-sdk-user-guide.md @@ -1,5 +1,6 @@ >注意:本文档适用对象是Apollo系统的使用者,如果你是公司内Apollo系统的开发者/维护人员,建议先参考[Apollo开发指南](zh/development/apollo-development-guide)。 +#   # 一、准备工作 ## 1.1 环境要求 @@ -307,7 +308,7 @@ Apollo的客户端jar包已经上传到中央仓库,应用在实际使用时 com.ctrip.framework.apollo apollo-client - 1.1.0 + 1.7.0 ``` @@ -847,7 +848,7 @@ Apollo客户端还支持本地开发模式,这个主要用于当开发环境 env=Local ``` -更多配置环境的方式请参考[1.2.2 Environment](#122-environment) +更多配置环境的方式请参考[1.2.4.1 Environment](#_1241-environment) ## 5.2 准备本地配置文件 在本地开发模式下,Apollo客户端会从本地读取文件,所以我们需要事先准备好配置文件。 @@ -879,7 +880,7 @@ request.timeout=2000 batch=2000 ``` -### 5.3 修改配置 +## 5.3 修改配置 在本地开发模式下,Apollo不会实时监测文件内容是否有变化,所以如果修改了配置,需要重启应用生效。 # 六、测试模式 @@ -891,7 +892,7 @@ batch=2000 com.ctrip.framework.apollo apollo-mockserver - 1.1.0 + 1.7.0 ``` diff --git a/docs/zh/usage/other-language-client-user-guide.md b/docs/zh/usage/other-language-client-user-guide.md index afebd3fcc..772bb87c6 100644 --- a/docs/zh/usage/other-language-client-user-guide.md +++ b/docs/zh/usage/other-language-client-user-guide.md @@ -11,7 +11,7 @@ 该接口会从缓存中获取配置,适合频率较高的配置拉取请求,如简单的每30秒轮询一次配置。 -由于缓存最多会有一秒的延时,所以如果需要配合配置推送通知实现实时更新配置的话,请参考[1.3 通过不带缓存的Http接口从Apollo读取配置](#13-%E9%80%9A%E8%BF%87%E4%B8%8D%E5%B8%A6%E7%BC%93%E5%AD%98%E7%9A%84http%E6%8E%A5%E5%8F%A3%E4%BB%8Eapollo%E8%AF%BB%E5%8F%96%E9%85%8D%E7%BD%AE)。 +由于缓存最多会有一秒的延时,所以如果需要配合配置推送通知实现实时更新配置的话,请参考[1.3 通过不带缓存的Http接口从Apollo读取配置](#_13-%E9%80%9A%E8%BF%87%E4%B8%8D%E5%B8%A6%E7%BC%93%E5%AD%98%E7%9A%84http%E6%8E%A5%E5%8F%A3%E4%BB%8Eapollo%E8%AF%BB%E5%8F%96%E9%85%8D%E7%BD%AE)。 ### 1.2.1 Http接口说明 **URL**: {config_server_url}/configfiles/json/{appId}/{clusterName}/{namespaceName}?ip={clientIp} @@ -115,7 +115,7 @@ Apollo提供了基于Http long polling的配置更新推送通知,第三方客 4. 如果传过来的notifications信息中发现有notificationId比服务端老,则直接返回对应namespace的最新notificationId, HttpStatus 200。 5. 客户端拿到服务端返回后,判断返回的HttpStatus 6. 如果返回的HttpStatus是304,说明配置没有变化,重新执行第1步 -7. 如果返回的HttpStauts是200,说明配置有变化,针对变化的namespace重新去服务端拉取配置,参见[1.3 通过不带缓存的Http接口从Apollo读取配置](#13-%E9%80%9A%E8%BF%87%E4%B8%8D%E5%B8%A6%E7%BC%93%E5%AD%98%E7%9A%84http%E6%8E%A5%E5%8F%A3%E4%BB%8Eapollo%E8%AF%BB%E5%8F%96%E9%85%8D%E7%BD%AE)。同时更新notifications map中的notificationId。重新执行第1步。 +7. 如果返回的HttpStauts是200,说明配置有变化,针对变化的namespace重新去服务端拉取配置,参见[1.3 通过不带缓存的Http接口从Apollo读取配置](#_13-%E9%80%9A%E8%BF%87%E4%B8%8D%E5%B8%A6%E7%BC%93%E5%AD%98%E7%9A%84http%E6%8E%A5%E5%8F%A3%E4%BB%8Eapollo%E8%AF%BB%E5%8F%96%E9%85%8D%E7%BD%AE)。同时更新notifications map中的notificationId。重新执行第1步。 ### 1.4.2 Http接口说明 @@ -161,7 +161,7 @@ Apollo从1.6.0版本开始增加访问密钥机制,从而只有经过身份验 | Header | Value | 备注 | |---------------|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| | Authorization | Apollo ${appId}:${signature} | appId: 应用的appId,signature:使用访问密钥对当前时间以及所访问的URL加签后的值,具体实现可以参考[Signature.signature](https://github.com/ctripcorp/apollo/blob/aa184a2e11d6e7e3f519d860d69f3cf30ccfcf9c/apollo-core/src/main/java/com/ctrip/framework/apollo/core/signature/Signature.java#L22) | -| Timestamp | 从1970-1-1 00:00:00 UTC+0 到现在所经过的毫秒数 | 可以参考[System.currentTimeMillis](https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#currentTimeMillis()) | +| Timestamp | 从`1970-1-1 00:00:00 UTC+0`到现在所经过的毫秒数 | 可以参考[System.currentTimeMillis](https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#currentTimeMillis()) | ## 1.6 错误码说明 正常情况下,接口返回的Http状态码是200,下面列举了Apollo会返回的非200错误码说明。 @@ -172,11 +172,11 @@ Apollo从1.6.0版本开始增加访问密钥机制,从而只有经过身份验 ### 1.6.2 401 - Unauthorized 客户端未授权,如服务端配置了访问密钥,客户端未配置或配置错误。 -### 1.6.2 404 - Not Found +### 1.6.3 404 - Not Found 接口要访问的资源不存在,一般是URL或URL的参数错误,或者是对应的namespace还没有发布过配置。 -### 1.6.3 405 - Method Not Allowed +### 1.6.4 405 - Method Not Allowed 接口访问的Method不正确,比如应该使用GET的接口使用了POST访问等,客户端需要检查接口访问方式是否正确。 -### 1.6.4 500 - Internal Server Error +### 1.6.5 500 - Internal Server Error 其它类型的错误默认都会返回500,对这类错误如果应用无法根据提示信息找到原因的话,可以尝试查看服务端日志来排查问题。 \ No newline at end of file -- GitLab