Skip to content

Instantly share code, notes, and snippets.

View claytonsilva's full-sized avatar
🏠
Working from home

Clayton Cavaleiro claytonsilva

🏠
Working from home
View GitHub Profile
@claytonsilva
claytonsilva / gist:1d1f0fe57801f667d123b795e2cb1738
Created May 22, 2019 22:53
Mapeamento de Downtime da pagar.me
# Mapeamento de Downtime da pagar.me
## Motivação
Trocando idéias com um desenvolvedor da pluralsight, absorvi bastante pensamentos no qual eles estavam tocando como eles gerem seus microserviços.
As premissas deles além de seguir bem a arquitetura de microserviços, eles tem mapeado os seguintes pontos:
* todo microserviço tem seu downtime mapeado com o tempo de downtime tolerável sem afetar os clientes.
* todo microserviço tem seu "cache" de messageria de suas dependencias (outros serviços que ele depende para leitura), com TTL (time to live) dentro da tolerância do tempo médio que o dado pode ser considerado "antigo" para ser usado pela frequencia média de sua alteração.. exemplificando, faço uma pergunta: temos que ler do banco de dados toda vez a configuração do cliente ou podemos ler somente uma vez a cada 3 dias e deixar cacheado ? podemos virar a chave para o cache se o serviço está com nível alarmante ou com algum alerta de nível médio e deixar o pessoal de Heartbeat arrumar até normalizar?
@claytonsilva
claytonsilva / nginx.conf
Created May 14, 2019 00:12
exemplo de aplicação com websocket usando proxy do nginx
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
{
"regionalNumber": "2573",
"local": "PAULISTA, SP",
"costCenter": "0131092300",
"Estabelecimento": "SP - SÃO PAULO",
"Regional": "2573 - PAULISTA, SP",
"Local": "2573_0131092300 - PAULISTA, SP",
"C.Custo": "1 - DEFAULT",
"undefined": 0,
"Incorp": 0,
FROM centos:6.6
# Install dependencies.
RUN curl -sL https://rpm.nodesource.com/setup_6.x | bash - && \
yum install -y initscripts curl tar gcc libc6-dev git nodejs bzip2 freetype fontconfig urw-fonts
# Install Go.
# Note that 1.4 is needed first to build 1.9.
ENV GOLANG_VERSION 1.4
RUN curl -sSL https://golang.org/dl/go$GOLANG_VERSION.src.tar.gz \

Keybase proof

I hereby claim:

  • I am claytonsilva on github.
  • I am claytonsilva (https://keybase.io/claytonsilva) on keybase.
  • I have a public key ASAnx3_k9UpTz5J0y7DtLiNxM5D7f2FPc7H3c9lTt_FyZgo

To claim this, I am signing this object:

cluster “projeto-a” {
type = “small”
initial-number = “3”
}
cluster “projeto-b” {
type = “small”
initial-number = “3”
}
{
"name": "jira-demo",
"version": "0.1.0",
"description": "",
"main": "index.js",
"scripts": {
"commitmsg": "validate-commit-msg"
},
"author": "",
"license": "ISC",