일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java static resources
- Spring Cloud Bus
- sidecar
- Service Mesh
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect x="10" y="10" height="100" width="100" style="stroke:#ff0000; fill: #0000ff"/> </svg>
- redis ha
- MySQL
- intelij devtools
- Spring Cloud Config
- tracing tool
- spring boot ssl verify skip
- jpa auto increment
- spring cloud zuul
- spring boot ssl
- spring boot jks
- msa 4.0
- Spring boot
- spring cloud api gateway
- <iframe src="http://erea.tistory.com/attachment/cfile21.uf@997995485B2F785A3292EE.svg"></iframe>
- spring boot hot swapping
- Istio
- spring cloud load balancer
- spring boot 2.0 ssl
- intelij spring boot devtools
- sidecar patern
- Distributed Tracing System
- kubernates
- spring boot http client
- high availabillty
- redis cluster
- Today
- Total
목록분류 전체보기 (28)
erea
container 문제 oraclejdk의 1.8기준 211 버젼 이상은 더이상 무료가 아니다 최근 컨테이너 환경으로 개발이 거의 전환되었기에 1.8에서도 도커지원은 191에서 부터 도입되었다. docker는 cgroup으로 리소스 제한을 하는데 jdk 일부버젼에서는 JVM이 시스템에서 사용 가능한 전체 메모리와 모든 CPU 코어를 인식하여 호스트os자원을 침범하는경우가 발생하였다. java 10버젼이상은 물론 이러한 문제를 해결하였지만 8u212 버젼이상부터는 백포트로 업데이트가 되어 해결되었다. 결론적으로는 8u212 버젼 이상 즉 컨테이너 환경개발을 위해서는 1.8을 사용하는경우는 최신 lts버젼으로 업데이트 하면 문제가 해결된다. jdk1.8 vs jdk11 performance Cloud bal..
k8s redis cluster 를 프로비저닝할때 init container에서 nslookup으로 클러스터 pod들의 ip를 가져오는데 어느순간부터 동작을 않함 보니까 service에 clusterIP부분이 문제였던것 clusterIP: None None으로 넣어주면 정상적으로 nslookup으로 pod들의 ip를 가져올수 있다. 아니면 kubectl로 수동으로 맺어주자 kubectl exec -it redis-cluster-1-server-0 -n demo -- redis-cli -a redis --cluster create $(kubectl get pods -l release=redis-cluster-1 -o jsonpath='{range.items[*]}{.status.podIP}:6379 ' -..
kubectl get nodes kubectl describe {nodes} kubectl get events ssh {nodes} systemctl restart kubelet systemctl restart docker
curl -v https://test.com * About to connect() to test.com port 443 (#0) * Trying xxxx.. connected * Connected to xxxx (xxxxx) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * NSS error -12286 * Error in TLS handshake, trying SSLv3... > GET / HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/..
gitlab runner에서 docker:dind로 runner에서 docker쪽 기능을 사용해서 빌드 하는 일이 있다. 구조는 docker:dind로 docker 컨테이너를 띄우고 runner container에서 tcp://docker:2375로 소켓을 열어 호스트에 docker자원을 이용하지않고 일회용 컨테이너 docker컨테이너를 이용해서 docker 작업을 하는 구조 하지만 dockler:dind 19.03 부터는 TLS 인증 기본포트 2376으로 바뀌었다. ( 다른 컨테이너에 대한 네트워크 액세스 권한이 dind자신의 게이트웨이 인터페이스를 통해 호스트에 접속을 초래할 수있는 잠재적 인 보안 문제)로 인해 패치되었다 그래서 기존 runner 어플리케이션에서는 당연히 tcp://docker:23..
Overviewjaeger란? Uber Technologies에서 만든 분산형 추적시스템 오픈소스로서 마이크로 서비스 기반 분산 시스템 모니터링을 할수가 있다.현재는 CNCF(Cloud Native Computing Foundation)의 프로젝트이다.- 분산형 추적시스템에 대표적인 오픈소스로는 zipkin, jagger, appdash 가 대표적이다.- 분산 컨텍스트 전파- 분산 트랜잭션 모니터링- 근본 원인 분석- 서비스 의존성 분석- 성능 / 대기 시간 최적화 Installationclientapplication.ymlcompile group: 'io.opentracing.contrib', name:'opentracing-spring-web-autoconfigure', version: '0.0.4'..
sysbench CPU, I/O OLTP(Online transaction processing,) . Sysbench 2004 0.4.12 2016 LUA .( v1.0.25) 1.X 6 Usage mysql vs mariadb mariadb vs pgsql 하드웨어 성능측정 cloud vs baremetal Galera Cluster Test 설정값에 따른 성능 측정 Installation curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash sudo yum -y install sysbench Properties --threads=N // --events=N // --time=N //..
Redis HA 고려사항 고 가용성- 일관성 보장 작성 복제 클러스터링 및 샤딩 로드 밸런스 - 결함 허용 - 장애 조치 백업 및 복원 - 관찰성 - 모니터링 - 성능 및 가동 시간 - 경영 문제 - 마이그레이션 업그레이드 및 다운 그레이드 - 인프라 계획 - 네트워크 파티셔닝 장애 도메인에서의 서비스 배포 High AvailabilityData Inconsistency 데이터 일관성을 위해 레디스는 클러스터 승인 매커니즘을 이용 Write load - 당연한 예기지만 write가 read보다 소모되는 비용이 크다. 요청 속도가 훨씬 느릴 때 오류가 발생. 이러한 상황에서는 write load 분산하는 메커니즘이 필요 Data loss and Data Corruption - 노드 오류, 프로세스 충돌 및..
Requirementopensslkeytool crt와 key 조합으로는 바로 jks를 생성하지 못함p12생성후 생성된 p12로 jsk 생성Run ##make #make p12 openssl pkcs12 -export -in {domain}.crt -inkey STAR_hanpda_com_nopass.key -out {domain}.p12 -name "{domain}" ##jks keytool -importkeystore -deststorepass {password} -destkeypass {password} -destkeystore {domain}.jks -srckeystore {domain}.p12 -srcstoretype PKCS12 -srcstorepass {srcpassword} -alias "..
MicroService란?각자 조금씩 생각하는 MSA가 다를수 잇겟지만 객체지향의 아버지 마틴 파울러께서 정의하길마이크로 서비스 아키텍처 스타일은 단일 응용 프로그램을 자체 서비스로 실행하고 경량 메커니즘 (종종 HTTP 리소스 API)과 통신하는 작은서비스 모음으로 개발하는 접근 방식입니다.이러한 서비스는 비즈니스 역량을 기반으로 구축되며 완전 자동화 된 배포 기계로 독립적으로 배포 할 수 있습니다. 이러한 서비스에 대한최소한의 중앙 집중식 관리가 있으며,다른 프로그래밍 언어로 작성되고 다른 데이터 저장 기술을 사용이라고 정의하셨다.이글을 읽기전에 istio를 읽고 오시면 많은 도움이 됩니다. Microservices 1.0Java OnlyAdds a lot of libraries to YOUR cod..