State
O Adapter de State é responsável pela persistência em banco de dados, cache e armazenamento na plataforma Devprime. O Adapter State pode ser personalizado com uma variedade de opções, incluindo MongoDB, SQL Server, MySQL, PostgreSQL, ElasticSearch, Oracle, Redis e outros parâmetros de armazenamento, como Azure Store, AWS S3, Google Cloud Storage, e muitos outros.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
"DevPrime_State": [
{
"enable": "true",
"alias": "State1",
"type": "db",
"dbtype": "mongodb",
"connection": "mongodb://mongoadmin:LltF8Nx*yo@localhost:27017",
"timeout": "5",
"retry": "2",
"dbname": "ms-order",
"isssl": "true",
"numberofattempts": "4",
"durationofbreak": "45"
}
],
|
Na tabela abaixo, é possível acompanhar um resumo dos principais parâmetros de configuração.
State |
— |
enable |
Habilita o adapter de State (True/False) |
alias |
Define um nome único para identificar o serviço |
type |
Define o tipo de State (DB |
dbtype |
Define o serviço de banco de dados (MongoDB |
dbname |
Nome do Database / Collection |
connection |
Define a configuração da conexão de acesso |
timeout |
Configura o timeout padrão para falhar |
retry |
Configura a quantidade de retentativas |
isssl |
Habilita uma conexão segura (True/False) |
numberofattempts |
Define o número de tentativas |
durationofbreak |
Define a duração do Circuit-Break |
O Adapter de State suporta várias persistências de dados
O Adapter de State da plataforma Devprime oferece suporte para mais de um serviço de State simultaneamente, para atender a cenários específicos onde seja necessário ter tanto o MongoDB quanto o Redis no mesmo microsserviço e um Storage.
Nesse tipo de implementação, é necessário que cada serviço tenha o seu próprio Alias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
"Devprime_State": [
{
"enable": "true",
"alias": "State1",
"type": "db",
"dbtype": "mongodb",
"connection": "mongodb://mongoadmin:LltF8Nx*yo@localhost:27017",
"timeout": "5",
"retry": "2",
"dbname": "ms-order",
"isssl": "true",
"numberofattempts": "4",
"durationofbreak": "45"
},
{
"enable": "true",
"alias": "State2",
"dbtype": "redis",
"connection": "127.0.0.x:6379",
"timeout": "5",
"retry": "2",
"durationofbreak": "45"
},
{
"enable": "true",
"alias": "State3",
"type": "storage",
"storagetype": "file",
"timeout": "5",
"retry": "2",
"durationofbreak": "45"
}
],
|
Exemplo no log da aplicação com essa configuração:
1
2
3
|
[INF][State][Type "MongoDB"][Alias "State1"]["Database"]["Enable"]
[INF][State][Type "Redis"][Alias "State2"]["Database"]["Enable"]
[INF][State][Type "File"][Alias "State3"]["Storage"]["Enable"]
|
Exemplo YAML com as configurações da aplicação:
Para exportar as configurações como variável de ambiente e utilizar no Kubernetes execute o comando no Devprime CLI:
dp export kubernetes
1
2
3
4
5
6
7
8
9
10
11
|
- name: devprime_state1
value: "enable=true|||alias=State1|||type=db|||dbtype=mongodb|||
connection=mongodb://mongoadmin:LltF8Nx*yo@mongodb.default.svc:27017|||
timeout=5|||retry=2|||dbname=ms-order|||isssl=true|||numberofattempts=4|||
durationofbreak=45"
- name: devprime_state2
value: "enable=true|||alias=State2|||dbtype=redis|||
connection=127.0.0.x:6379|||timeout=5|||retry=2|||durationofbreak=45"
- name: devprime_state3
value: "enable=true|||alias=State3|||type=storage|||storagetype=file|||
timeout=5|||retry=2|||durationofbreak=45"
|
A plataforma Devprime disponibiliza diversos parâmetros para a customização dos serviços de cache
A plataforma Devprime disponibiliza diversos parâmetros para a customização do State.
Azure Storage, AWS Storage , Google Cloud Storage
Última modificação September 1, 2023 (885f70d8)