본문 바로가기
728x90

오픈소스20

[ISTIO] istio-proxy debugging tips ※ 트래픽이 많은 MSA 환경에서 istio-proxy 로그 레벨을 높이거나 access log를 쌓을 경우 너무 많은 디스크가 사용되기 때문에 기본적으로는 info level에 access 로그는 off로 구성될 수 있다. 허나 실무 서비스 이슈 발생 시 디버깅 용도로 로그레벨 및 access log를 설정하여 봐야하는 경우가 있다. 이번 글에서는 MSA 환경에서 MSA간 문제 발생 시, istio를 통한 디버깅 방법을 적어보려고 한다. ● 서비스 이슈 발생 시 로그 보는 방법 : 기본적으로 이슈 발생 시, 아래 명령어로 컨테이너 로그를 볼 수 있다. $ kubectl logs -f [pod-name] -n [namespace-name] -c [container-name] ※ 멀티컨테이너 구성 시에 -.. 2022. 11. 28.
[ISTIO] ISTIO Architecture ■ ISTIO 아키텍쳐 : Istio 서비스메쉬는 논리적으로 데이터플레인과 컨트롤프레인으로 나뉜다. ⒧ 데이터플레인은 사이드카로 배포된 Envoy-Proxy의 집합으로 구성된다. 이러한 프록시는 마이크로서비스 간의 모든 네트워크 통신을 조정하고 제어한다. 또한 모든 Mesh Traffic에 대한 원격 분석을 수집하고 보고한다. ⑵ 컨트롤 플레인은 트래픽을 라우트하도록 프록시를 구성하고 관리한다. ■ 각 영역(Data/Control)별 핵심구성 요소에 대한 설명 ⑴ Envoy(Proxy) Envoy Proxy는 service mesh안의 모든 서비스들에 대한 모든 in/out bound 트래픽을 중재하기 위해 C++로 개발된 고성능 프록시 서버이다. Envoy Proxy들은 데이터플레인 트래픽과 상호작용하.. 2022. 11. 24.
[Tomcat 8.5] 데이터소스 DB 정보 암호화 (id/pw) 1. 배경 및 목적 Tomcat 서버의 DB정보에 관한 설정은 server.xml 혹은 context.xml 파일에 존재한다. 해당 정보에는 DB 접속에 필요한 id/pw가 있기 때문에 암호화되지 않는다면 계정 정보가 탈취될 가능성이 존재하여 보안에 취약하기 때문에 반드시 계정 정보를 암호화해야 한다. 이 글에서 테스트 환경은 아래와 같다. Server version: Apache Tomcat/8.5.81 Server built: Jun 8 2022 21:30:15 UTC Server number: 8.5.81.0 OS Name: Linux OS Version: 5.10.118-111.515.amzn2.x86_64 Architecture: amd64 JVM Version: 1.8.0_312-b07 JVM.. 2022. 11. 22.
[ISTIO] ISTIO란(1) ■ Service-Mesh란 현대의 애플리케이션은 일반적으로 분산형 마이크로서비스 집합으로 설계되며, 각 마이크로서비스들은 개별적인 비즈니스 기능을 수행한다. ServiceMesh는 애플리케이션에 추가할 수 있는 전용 인프라 계층입니다. 이를 통해 자신의 코드에 추가하지 않고도 관찰 가능성, 트래픽 관리 및 보안과 같은 기능을 투명하게 추가할 수 있습니다. "Service Mesh"라는 용어는 이 패턴을 구현하는 데 사용하는 소프트웨어 유형과 해당 소프트웨어를 사용할 때 생성되는 보안 또는 네트워크 도메인을 모두 나타냅니다. Kubernetes 기반 시스템과 같은 분산 서비스의 배포가 규모와 복잡성이 증가함에 따라, 이해하고 관리하는 것이 더 어려워질 수 있습니다. 요구 사항에는 검색, 로드 밸런싱, 장.. 2022. 11. 8.
[카프카] G1GC 사용 시 권장할만한 파라미터 값 https://kafka.apache.org/documentation.html#topicconfigs Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 카프카의 경우 Java8, Java11이 지원된다. (Java 11의 경우에는 TLS가 활성화된 경우 훨씬 더 나은 성능을 발휘하므로 적극 권장합니다. OpenJDK 기반 Java 구현(Oracle JDK 포함)으로 Kafka를 실행하기 위한 일반적인 인수는 다음과 같습니다. -Xmx6g -Xms6g -XX:MetaspaceSize=96m -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=.. 2022. 2. 24.
[RMQ] Python으로 배우는 RabbitMQ 튜토리얼(6) - RPC 1. RPC란? RPC는 Remote Procedure Call의 약자로 간단하게 Client는 Request를 Server에 전달하고 Server는 해당 Request를 처리하여 알맞은 결과 값을 다시 Client에 Response해주는 방법을 뜻한다. 즉, RPC는 원격지에 메세지를 전달해서 결과를 다시 전달 받는 것을 뜻한다. 1-1. Message Properties DeliveryMode : 메세지 속성이 persistent인지 transient인지 표시(휘발성 or 비휘발성) ContentType : 내용물의 mime-type ReplyTo : 일반적으로 callback queue의 이름을 지정하는데 사용 CorrelationID: 요청을 구분할 수 잇는 유일한 값 1-2. 아래는 RPC의 데.. 2022. 1. 20.
728x90