Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,4 @@ Java Chassis 提供了一个全局的内置线程池, 如果业务有特殊的
| servicecomb.executor.default.maxThreads-per-group | 100 | 每组线程池的最大线程数 |
| servicecomb.executor.default.maxIdleSecond-per-group| 60 | 每组线程池中超过coreThreads-per-group的线程,如果idle超时,则会销毁该线程 |
| servicecomb.executor.default.maxQueueSize-per-group | Integer.MAX_VALUE | 每组线程池中任务队列的最大长度 |
| servicecomb.rest.server.requestWaitInPoolTimeout | 30000 |在同步线程中排队等待执行的超时时间,单位为毫秒 |
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# 2.1.1 升级 2.1.5 指导

## `org.apache.servicecomb.swagger.invocation.Response` 属性 headers 类型调整

为了更好的和 HTTP 协议标准保持兼容, 将 Response 的 headers 类型由
`org.apache.servicecomb.swagger.invocation.response.Headers` 修改为
`io.vertx.core.MultiMap`, 同时删除了类 `org.apache.servicecomb.swagger.invocation.response.Headers`
以支持大小写无关的 HTTP header。 修改前 header 的 key 是区分大小写的,
修改后, 不区分大小写。 该调整也涉及到和 header 操作有关的 getter, setter 方法的调整,使用了老方法的地方会编译出错,
修改为对应的新方法即可。

## `swagger-generator-spring-data` 调整

这个模块提供了 `Page`、`Pagable`、`Order` 等接口的序列化支持。2.1.5 升级了 spring boot 版本, 这些接口存在变更,因此序列化
结果发生了改变。 如果产品使用了这些类作为外部接口,需要考虑前端返回的 json 格式的变化对产品功能的影响。



Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ HttpClientFilter 和 HttpServerFilter 使用 Java 标准的 SPI 机制加载。
null(比如get调用的场景),如果不为null,对应的码流长度,通过getBodyBytesLength\(\)获取。

>***注意事项***:
> HttpClientFilter 的 beforeSendRequest 在接口调用的当前线程执行, afterReceiveResponse 在业务线程池中执行。
> HttpClientFilter 的 afterReceiveRequest 在业务线程池中执行。beforeSendResponse 和 beforeSendResponseAsync
> 可能在业务线程池执行, 也可能在网络线程池执行, 务必保证不能够出现阻塞操作。
>HttpClientFilter 的 beforeSendRequest 在接口调用的当前线程执行, afterReceiveResponse 在业务线程池中执行。
>HttpClientFilter 的 afterReceiveRequest 在业务线程池中执行。beforeSendResponse 和 beforeSendResponseAsync
>可能在业务线程池执行, 也可能在网络线程池执行, 务必保证不能够出现阻塞操作。

## HttpClientFilter

Expand Down
33 changes: 0 additions & 33 deletions java-chassis-reference/zh_CN/docs/registry/service-center.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,37 +136,4 @@ secreteKey 支持加密存储, 扩展方式同 RBAC 。
</dependency>
```

## 连接多个服务中心

有些应用场景需要连接多个服务中心。比如一个应用系统会在不同的 region 部署,其中一个 region 的服务需要访问
另外一个 region 的服务, 这个时候,可以连接另外 region 的服务中心,发现服务信息。

***注意:*** 连接多个服务中心指的是不同的服务中心集群,不是指一个集群内部的多个服务中心实例。

连接多个服务中心比较简单, 只需要在项目里面定义新的服务中心的配置信息,通过 spring bean 的方式注入:

```java
@Configuration
public class ServerBServiceCenterConfiguration {
@Bean("serverBServiceCenterConfig")
public ServiceRegistryConfig serverBServiceCenterConfig() {
ServiceRegistryConfig config = ServiceRegistryConfig.buildFromConfiguration();
return ServiceRegistryConfigCustomizer.from(config)
.addressListFromConfiguration("servicecomb.service.registry-serverB.address").get();
}
}
```

上面的代码复用了缺省服务中心的配置信息,只修改了连接地址,代码指定了下面的配置项。如果需要自定义其他配置项,可以
通过继承 ServiceRegistryConfig 来实现。

```yaml
servicecomb:
service:
registry:
address: http://127.0.0.1:30100
registry-serverB:
address: http://127.0.0.1:40100
```

启用多个服务中心以后,会在不同的服务中心查找服务的实例,并对信息进行合并。