Skip to content

Conversation

@DeanLee2013
Copy link
Contributor

No description provided.

@@ -1,11 +1,11 @@
# 获取熔断与实例隔离告警事件
# Get the fuse and instance isolation alarm events

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

建议改成Get the degradation and isolate points of access events ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Get warning event from Circuit Breaking and Instance Isolation.

## 场景描述
* 在微服务运行期间熔断或实例隔离状态发生变化时,需要监听到相关事件,获取相关信息并进行处理
## Scene Description
* When the microservice is running or the instance isolation status changes, you need to listen to related events, get relevant information and process it.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When the microservice is running or the instance isolation status changes 这句话和原文的意思好像没有对上


* 监听熔断事件
* Monitor blown events

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

熔断这个词怎么翻译比较好?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CircuitBreaker全球统一


## 场景描述
## Scene Description

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Scene -> scenario

* 灰度发布场景,需要结合自定义的tag实现引流,tag信息需要传递给微服务
## Scene Description
* In the authentication scenario, after the Edge Service authentication is passed, the session ID, username, and other information need to be passed to the microservice to implement authentication and other logic.
* Grayscale publishing scenarios, need to be combined with custom tags to achieve drainage, tag information needs to be passed to the microservices

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to achieve drainage -> in order to dispatch request

```java
@RpcReference(schemaId = "hello", microserviceName = "helloApp:helloProvider")
private Hello hello;
```
调用方式和调用同应用下的微服务相同:
  The calling method and calling are the same as the microservices under the application:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这句话的翻译 诡异

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

中文就诡异

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The calling method and calling are the same as the microservices under the application: ->
The calling method is same as calling microservices under the same application
这样是不是更好一点


作为一名开发者,在公司开发环境,可能是通过公司代理网络接入到因特网。如果调试服务时还必须依赖网上资源,比如直接连接华为共有云服务中心,那么就必须配置代理。

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

删掉华为公有云部分

```

**注意:当前仅支持连接服务中心、配置中心、服务看板支持代理,如果对接其他三方服务,可以读取这个配置,自行配置代理,vertx httpclient支持代理设置,例如:**

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

没有服务看板

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

啥意思 不支持这个?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

是的,开源版本ServiceComb没有看板服务


用户使用域名连接华为公有云或者三方系统时,需要使用到域名解析系统。在不同的系统、不同的框架使用的域名解析机制都可能不太一样。所以我们有必要提供一个统一的配置入口,以便开发运维人员可以自定义DNS解析机制,而不完全受制于系统配置。

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

去掉华为云部分

| 用户自定义 | self.tag |
| Service Center | sc.consumer |
| Configuration Center | cc.consumer |
| Kanban Center | mc.consumer |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

没有看板

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

移除Kanban Center这一行


``` yaml
addressResolver:
servers: 8.8.8.8,8.8.4.4 #对应Linux /etc/resolv.conf的nameserver,DNS服务器地址,支持配置多个,以逗号隔开
ndots: 1 #对应linux /etc/resolv.conf里面的options: ndots, 作用就是如果给的域名里面包含的点的个数少于该阈值,那么DNS解析的时候就会默认加上searchDomains的值,这个必须和searchDomains搭配使用,Linux默认为1,华为公有云PAAS(包含容器)默认是4

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不要华为公有云PAAS(包含容器)这些内容

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

删掉“华为公有云PAAS(包含容器)默认是4”


因为resource不一定表示文件下载,所以需要通过swagger annotation@ApiResponse)标识这是一个文件下载场景
Because the resource does not necessarily mean file download, you need to identify this file download scenario by swagger annotation (@ApiResponse).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这句翻译请重新整理


因为InputStream不一定表示文件下载,所以需要通过swagger annotation@ApiResponse)标识这是一个文件下载场景
Because InputStream does not necessarily mean file downloading, it needs to be identified by swagger annotation (@ApiResponse). This is a file download scenario.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这句翻译请重新整理


有的场景下,资源并不保存在本地,比如保存在OBS云服务中,而OBS资源是以InputStream方式输出的

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

不要OBServer云服务什么的


### 1)通过Java的mime type机制扩展
### 1)Expanding through Java's mime type mechanism

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

扩展是Extend


* 在得到ReadStreamPart实例时,并没有完成文件内容的下载,调用save系列方法才开始真正从网络上读取文件数据。
* When the ReadStreamPart instance is obtained, the file content is not downloaded. The save series method is called to start reading the file data from the network.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

save series 对吗?


jaxrs开发模式:
* 支持servlet定义的javax.servlet.http.Part类型
Jaxrs development model:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mode


* 两种数据类型功能是一致的,MultipartFile的底层也是Part
* The two datatype functions are consistent, and the underlying part of MultipartFile is also Part

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and the underlying part of MultipartFile is also Part 请修正一下有点绕


无论是request,还是response,读取body码流,都使用getBodyBytes\(\),返回值可能为null(比如get调用的场景),如果不为null,对应的码流长度,通过getBodyBytesLength\(\)获取。
Whether it is request or response, read the body stream, use getBodyBytes\ (\), the return value may be null (such as the scene called get), if not null, the corresponding stream length, Obtain through getBodyBytesLength\ (\ ).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

such as the scene called get 修一下


## 3.3 afterReceiveRequest

在收到请求后,根据url、headerquery、码流计算签名,并与header中的签名对比,如果签名不对,直接构造一个Response作为返回值,只要不是返回NULL,则框架会中断对其他HttpClientFilter的调用。
After receiving the request, the signature is calculated according to the URL, header, query, and code stream, and compared with the signature in the header. If the signature is incorrect, a Response is directly constructed as the return value. As long as the NULL is not returned, the framework will interrupt the other HttpClientFilter. Call.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

怎么有一个.


Because the invocation has not yet been constructed, the call flow has gone wrong, so the invocation may be null.<Paste>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

“.《Paste》” 删掉


服务中心是微服务框架中的重要组件,用于服务元数据以及服务实例元数据的管理和处理注册、发现。服务中心与微服务提供/消费者的逻辑关系下图所示:
![](/start/develop-test.png)
Service center is an important component in the microservice architecture, and is used for managing, registering, and detecting metadata and instance metadata. The logic relationship between the service center and microservice provider/consumer is as follows:![](../assets/images/local_develop_test_en.png)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and is used for managing, registering, and detecting metadata and instance metadata 这句话不大通顺。。

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and is used for managing, registering and auto-discovery microservice instance

@@ -24,7 +24,7 @@ addressResolver.[tag].[property]
``` yaml
addressResolver:
servers: 8.8.8.8,8.8.4.4 #对应Linux /etc/resolv.conf的nameserver,DNS服务器地址,支持配置多个,以逗号隔开
ndots: 1 #对应linux /etc/resolv.conf里面的options: ndots, 作用就是如果给的域名里面包含的点的个数少于该阈值,那么DNS解析的时候就会默认加上searchDomains的值,这个必须和searchDomains搭配使用,Linux默认为1,华为公有云PAAS(包含容器)默认是4

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

应该去掉华为


* consumer是否使用reactive与producer如何实现,没有任何联系
  * Whether the consumer uses reactive and producer how to achieve, there is no connection

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

achieve -> implement


Reactvie要求:所有在eventloop中执行的逻辑,不允许有任何的阻塞动作,包括不限于wait、sleep、巨大循环、同步查询DB等等。
Reactive requires that all logic executed in the eventloop does not allow any blocking actions, including not limited to wait, sleep, large loops, synchronous query DB, and so on.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

including not limited 有点生硬


* 虽然Executor线程释放了,但是Customer Executor,其实还是阻塞住,在等待远端应答,整个系统的阻塞状态并没有得到改变;而且还凭空多了一次线程切换
* Although the Executor thread is released, the Customer Executor is blocked, waiting for the remote response, the blocking state of the entire system has not changed, and there is one more thread switching out of thin air.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这段改一下,不用原文机翻。。。


* 当业务逻辑中,需要多次进行远程同步操作时,会更加恶化这个现象
* This phenomenon is exacerbated when the remote synchronization operation is required multiple times in the business logic.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This phenomenon is exacerbated

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

exacerbated the problem

@DeanLee2013
Copy link
Contributor Author

all done

@WillemJiang WillemJiang merged commit 04b8d08 into apache:master Aug 31, 2018
```

### 配置说明:
### Configuration instructions:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instructions -> Introduction

### Configuration instructions:

| 配置项 | 默认值 | 取值范围 | 含义 |
| Configuration Item | Default Value | Range of Value |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

含义列没有了???

* org.springframework.core.io.Resource

使用InputStream时,因为是流的方式,此时没有客户端文件名的概念,所以producer获取客户端文件名会得到null
When using InputStream, because it is a stream, there is no concept of client file name at this time, so the producer will get the client file name will get null.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so the producer will get the client file name will get null ->
so the producer gets the client file name will be null

When using InputStream, because it is a stream, there is no concept of client file name at this time, so the producer will get the client file name will get null.

如果既要使用内存数据,又想让producer可以获取客户端文件名,可以使用resource类型,继承org.springframework.core.io.ByteArrayResource,且override getFilename即可。
If you want to use both memory data and the producer to get the client file name, you can use the resource type, inherit org.springframework.core.io.ByteArrayResource, and override getFilename.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want to use both memory data and the producer to get the client file name ->
If you want to use memory data and the producer also can get the client file name

</div>
<div id="linux" class="tab-pane fade" markdown="1">
1. 下载服务注册中心可执行文件压缩包并解压缩
    (1) Download the [Service Registry Executable Compressor] (http://apache.org/dyn/closer.cgi/incubator/servicecomb/incubator-servicecomb-service-center/1.0.0-m1/apache-servicecomb- Incubating-service-center-1.0.0-m1-windows-amd64.tar.gz)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compressor -> Package

</div>
</div>
```
   2) Run the service registry

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Run the ServiceCenter

   Bash apache-servicecomb-incubating-service-center-1.0.0-m1-linux-amd64/start-service-center.sh
   ```
   
    Note: The frontend (frontend) will be bound to the ipv6 address by default in the Linux environment, causing the browser to report an error. The repair method is: first modify the httpaddr in conf/app.conf to the external reachable network card ip, and then modify the app/appList/apiList. .js `ip : 'http://127.0.0.1'` for the corresponding ip, and finally restart ServiceCenter.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

删掉(frontend)

```bash
docker pull servicecomb/service-center
docker run -d -p 30100:30100 servicecomb/service-center:latest
Docker pull servicecomb/service-center

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docker是小写docker

```

* **步骤 2 **启动本地服务中心后,在服务提供/消费者的microservice.yaml文件中配置ServerCenter的地址和端口,示例代码:
* **Step 2 ** After starting the local service center, configure the ServerCenter address and port in the service provider/consumer's microservice.yaml file. Example code:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in the service provider/consumer's microservice.yaml file ->
in the microservice.yaml file of provider/consumer

```

* **步骤 3 **开发服务提供/消费者,启动微服务进行本地测试。
* **Step 3 **Development service provider/consumer, launch microservices for local testing.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

service provider/consumer -> microservices

在本进程内存中模拟一个只能本进程使用的服务中心,一般是在测试场景中使用。
* ### 进程内调用
只需要在启动ServiceComb引擎之前声明一下即可启用:
## Mock mechanism start service center

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mock mechanism start service center ->
Using mock mechanism to start ServiceCenter

同样,因为Mock不能跨进程,consumer也无法动态取得producer的契约信息,所以,需要在本地提供契约文件
(这个场景,使用Mock服务中心,比使用standalone的服务中心,成本高得多得多,不建议使用)
* ### Cross-process call
If the deployment is simple and the deployment information is static, you can use this mock mechanism even if you have a cross-process call.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cross-process call ->
remote process call

- highway://localhost:7070
```
* **步骤 2**consumer本地部署契约文件
* **Step 2**consumer local deployment contract file

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deploy local contract file in consumer

参考:[定义服务契约](https://huaweicse.github.io/servicecomb-java-chassis-doc/zh_CN/build-provider/define-contract.html)
* **步骤 3**在consumer main函数,启动ServiceComb引擎之前声明:
Reference: [Define Service Contract] (https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/define-contract.html)
* **Step 3** In the consumer main function, declare the ServiceComb engine before starting:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

declare the ServiceComb engine before starting ->
declare it before the ServiceComb engine starting


## Local debugging by setting environment information
The java chassis is strictly dependent on the contract when designing, so usually the version of the microservice has to change when the contract updated. However, if the development mode is still in progress, it is normal to modify the interface.
If you need to change the version every time, it is very unfriendly to the user, so an environment setting is added for this case. If the microservice is configured as a development environment, the interface is modified (the schema has changed), and the restart can be registered to the service center without modifying the version number.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you need to change the version every time ->
If need to change the version every time

The CORS function is configured in the microservice.yaml file. The configuration items are described in the following table.

| 配置项 | 默认值 | 取值范围 | 是否必选 | 含义 | 注意 |
| Configuration Item | Default Value | Range of Value | Required | Meaning |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

少了一个 “注意” 列

| servicecomb.cors.allowedHeader | None | - | No | Access-Control-Allow-Headers | Multiple values ​​separated by commas |
| servicecomb.cors.allowedMethod | None | - | No | Access-Control-Allow-Methods | Multiple values ​​separated by commas |
| servicecomb.cors.exposedHeader | None | - | No | Access-Control-Expose-Headers | Multiple values ​​separated by commas |
| servicecomb.cors.maxAge | None | (0,2147483647], Integer | No | Access-Control-Max-Age | The unit is seconds. If the user does not configure this, there is no Access-Control-Max in the CORS response. Age |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The unit is seconds. If the user does not configure this, there is no Access-Control-Max in the CORS response. Age
The unit is seconds. If the user does not configure this, there is no Access-Control-Max-Age in the CORS response.

@@ -1,36 +1,36 @@
# 使用Context传递控制消息
# Delivery Context Control Message

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delivery Control Message via Context

@@ -1,30 +1,30 @@
### 概念阐述
### Concept Description

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Description -> Introduction

An application is a layer in the microservice instance isolation hierarchy, and an application contains multiple microservices. By default, only microservice instances of the same application are allowed to call each other.

### 场景描述
### Scene Description

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Description -> Introduction

### Configuration instructions

若要开启跨应用调用,首先需在provider端的microservice.yaml文件开启跨应用调用配置。配置项如下:
To enable cross-application calls, you first need to enable cross-application call configuration in the microservice.yaml file on the provider side. The configuration items are as follows:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To enable cross-application calls ->
To enable cross-application calling function

### Configuration instructions

若要开启跨应用调用,首先需在provider端的microservice.yaml文件开启跨应用调用配置。配置项如下:
To enable cross-application calls, you first need to enable cross-application call configuration in the microservice.yaml file on the provider side. The configuration items are as follows:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The configuration items are as follows ->
The configuration item is as follows ->

### Sample Code

示例假设provider所属应用为helloApp,微服务名称为helloProvider;consumer所属应用为helloApp2,微服务名称为helloConsumer。
The example assumes that the application to which the provider belongs is helloApp, the name of the microservice is helloProvider, the application to which the consumer belongs is helloApp2, and the name of the microservice is helloConsumer.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The example assumes that the application to which the provider belongs is helloApp, the name of the microservice is helloProvider, the application to which the consumer belongs is helloApp2, and the name of the microservice is helloConsumer. ->
The example assumes that the provider microservice appid is helloApp, and the name is helloProvider, the consumer appid is helloApp2, and the name is helloConsumer.

示例假设provider所属应用为helloApp,微服务名称为helloProvider;consumer所属应用为helloApp2,微服务名称为helloConsumer。
The example assumes that the application to which the provider belongs is helloApp, the name of the microservice is helloProvider, the application to which the consumer belongs is helloApp2, and the name of the microservice is helloConsumer.

- RestTemplate调用方式

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

method -> mode

```java
@RpcReference(schemaId = "hello", microserviceName = "helloApp:helloProvider")
private Hello hello;
```
调用方式和调用同应用下的微服务相同:
  The calling method and calling are the same as the microservices under the application:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The calling method and calling are the same as the microservices under the application: ->
The calling method is same as calling microservices under the same application
这样是不是更好一点

@@ -1,41 +1,41 @@
## 场景描述
## Scene Description

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Description -> Introduction

| 用户自定义 | self.tag |
| Service Center | sc.consumer |
| Configuration Center | cc.consumer |
| Kanban Center | mc.consumer |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

移除Kanban Center这一行


``` yaml
addressResolver:
servers: 8.8.8.8,8.8.4.4 #对应Linux /etc/resolv.conf的nameserver,DNS服务器地址,支持配置多个,以逗号隔开
ndots: 1 #对应linux /etc/resolv.conf里面的options: ndots, 作用就是如果给的域名里面包含的点的个数少于该阈值,那么DNS解析的时候就会默认加上searchDomains的值,这个必须和searchDomains搭配使用,Linux默认为1,华为公有云PAAS(包含容器)默认是4

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

删掉“华为公有云PAAS(包含容器)默认是4”

rdFlag: true #设置DNS递归查询
rotateServers: true #设置是否支持轮询
  servers: 8.8.8.8, 8.8.4.4 #corresponds to the nameserver of Linux /etc/resolv.conf, the DNS server address, supports multiple configurations, separated by commas
  ndots: 1 # corresponds to the options in linux /etc/resolv.conf: ndots, the role is that if the number of points contained in the domain name is less than the threshold, then DNS resolution will be added by default to the value of searchDomains. This must be used in conjunction with searchDomains. Linux defaults to 1. Huawei public cloud PAAS (including containers) defaults to 4

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

删掉Huawei public cloud PAAS (including containers) defaults to 4

@@ -1,23 +1,23 @@
# 返回值序列化扩展
## 概念阐述
# return value serialization extension

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

第一个字母R大写

# 返回值序列化扩展
## 概念阐述
# return value serialization extension
## Concept Description

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Description -> Introduction

* ### extension

开发人员可以根据业务需要,通过编程的方式来扩展返回值序列化方式。实施步骤如下,以扩展支持application/xml格式为例:
  Developers can extend the return value serialization method programmatically based on business needs. The implementation steps are as follows, taking the extended support application/xml format as an example:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the extended -> how to make extension in order to

@@ -1,59 +1,54 @@
## 概念阐述
## Concept Description

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Description -> Introduction

## Concept Description

为方便治理,使用ServiceComb进行开发,会将当前使用的ServiceComb版本号上报至服务中心,并且支持其他框架集成ServiceComb时上报其他框架的版本号。
To facilitate the management, using ServiceComb for development, the currently used ServiceComb version number will be reported to the service center, and the version number of other frameworks will be reported when other frameworks integrate ServiceComb.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

facilitate是否使用更简单的词语替换一下?

map.put("My", this.getClass().getPackage().getImplementationVersion());
return map;
}
  @override

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@OverRide 的O还是要大写

@@ -1,22 +1,22 @@
## 场景描述
## Scene Description

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Description -> Introduction

## Solution

服务间的通信离开不序列化和反序列化,对于上述的场景,使用jackson类库提供的 @JsonSerialize @JsonDeserialize 注解功能,对敏感数据定制序列化和反序列化方法,并在定制化的方法中实现加解密功能。
The communication between services leaves unserialized and deserialized. For the above scenario, the @JsonSerialize and @JsonDeserialize annotation functions provided by the jackson class library are used to customize the serialization and deserialization methods for sensitive data, and in a customized method. Implement encryption and decryption functions.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

leaves unserialized and deserialized ->
need serialized and deserialized

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants