본문 바로가기
728x90

전체 글121

[WLS] WebLogic과 Oracle DB 19c Certification 사이트에서 WLS 10.3.3 버전과 Oracle DB 19c와의 연결이 가능한지에 대한 문의가 들어왔다. 최근 Oracle DB 11g, 12c에 대한 Support EOS가 다가와서 많은 사이트에서 Oracle DB 19c로의 업그레이드를 고려 중에 있기 때문에 문의를 한것 같다. 그러나 Oracle DB 19c를 위해서 Java, JDBC Driver 버전에서 WAS 측면에서 고려해야 할 사항들이 있다. 일단 기본적으로 오라클에서 DB 19c와 Certification 해주는 WebLogic 버전은 아래와 같다. - 오라클 문서 Is WebLogic 12.1.3 Certified with Oracle Database 19c (Doc ID 2695819.1) 참고 Following WebLogic S.. 2022. 1. 19.
[RMQ] Python으로 배우는 RabbitMQ 튜토리얼(4) - Routing Routing의 경우 Pub/Sub 구조와 함께 사용하는 기능으로, 기존 튜토리얼(3)에서 Pub/Sub의 경우에는 단순히 메세지를 모든 Subscriber에게 전송했다면, Routing 기능을 통해 특정 Subscriber에게 특정 메세지를 보내는 역할을 한다. 예를 들어, 앞선 예제의 로깅 시스템에서 Disk Logging 프로그램은 Disk의 용량 절약을 목적으로 Critical한 에러 메세지만 수신하여 파일로 떨구고 싶은 경우에 Routing 기능을 사용할 수 있다. 1. Binding 이때 사용하는 옵션이 routing_key 옵션으로 바인딩 키를 설정한다. channel.queue_bind(exchange=exchange_name, queue=queue_name, routing_key='bla.. 2022. 1. 18.
[스카우터] Scouter 설치부터 WAS 연동까지.. 이번 글에서는 오픈소스 APM 툴인 Scouter에 대해 공부해보려 한다. 1. 스카우터란? - 스카우터는 복잡한 N-Tier 환경의 웹 기반 시스템에 대해 효율적인 성능 모니터링 체계를 마련함으로써 시스템 자원의 활용도를 극대화 시키는 오픈소스 APM 툴이다. 1-1. 제품의 특성 웹 어플리케이션 관리 (실시간 모니터링) 비지니스 트랜잭션 관리 (성능/안정성) 오픈소스 모니터링 및 확장 팩 (성능/안정성) 사용 사례의 증가 (호환성/확장성) 1-2. 스카우터 활용 1-2-1. 서비스 모니터링 동시 사용자 응답 시간 실시간 처리 현황 1-2-2. 리소스 모니터링 CPU, 메모리 사용량 DB 커넥션 파일 I/O 1-2-3. 장애 분석 및 해결 장애의 진단과 분석 성능 개선 안정화 1-2-4. Xlog와 트.. 2022. 1. 17.
[OCI] RSA 공개키 생성 방법 OCI에서 만든 WLSC 인스턴스 서버에 ssh 접속을 암호 없이 하고 싶은 경우, 클라이언트에서 생성한 공개 RSA 키를 생성하여 할 수 있다. 생성 방법은 아래와 같다. [root@sydev ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): PSYKLAP Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in PSYKLAP. Your public key has been saved in PSYKLAP... 2022. 1. 14.
[OCI] 마켓플레이스를 사용하여 WLSC 프로비저닝 이번 글에서는 OCI (Oracle Cloud Infrastructure)에서 마켓 플레이스를 활용하여 WLSC를 프로비저닝해보려고 한다. 1. OCI 접속 - 햄버거 탭 > Marketplace > All Application 선택 2. Oracle WebLogic Server EE 선택 - Stack / Oracle / Application Deployment 선택 후 WebLogic Server EE 선택 3. WLS 버전 선택 및 Compartment 선택 4. 인스턴스 생성 - Resource Name Prefix : 추후에 설정 이름으로 도메인 명과 웹로직 서버명이 생성 됨. 도메인 명 : syWLSC_domain 어드민서버명 : syWLSC_adminserver 매니지드서버명 : syWLSC.. 2022. 1. 14.
[OCI] Vault Secret 만들기 https://docs.oracle.com/en/cloud/paas/weblogic-cloud/user/you-begin-oracle-weblogic-cloud.html#GUID-48A874B1-9335-4AAB-AA5C-979C8D87AD7F Create an Encryption Key OCI는 Vault Secret를 사용하여 OCI용 Oracle WebLogic Server 도메인을 생성하는데 필요한 비밀번호를 암호화하여 저장한다. (ex. 새 도메인 관리자 비밀번호) Oracle WebLogic Server for OCI를 사용하여 도메인을 생성할 때 Secret의 OCID 값이 필요하다. Secret을 생성하려면 Oracle Cloud Infrastructure의 Vault를 사용해야 하고 생성.. 2022. 1. 14.
[RMQ] Python으로 배우는 RabbitMQ 튜토리얼(3) - Publish/Subscribe 이전과 동일하게 Pika Python Client를 사용한다. 이전 글(Python으로 배우는 RabbitMQ 튜토리얼(2) - Work Queue)에서는 작업 대기열(Work Queue)를 실습했다. Work Queue의 경우에는 정확히 한 작업자(Worker)에게 메세지를 전달하는 것이었다면 이번 글에서 배울 Publish/Subscribe의 경우에는 특정 토픽을 구독하는 여러 Consumer에게 메세지를 전달하는 방식이다. 여기에 동작 방식을 잘 설명하기 위해 간단한 로깅 시스템을 추가로 구축할 예정이다. 아래의 예시는 하나의 프로그램에서 Log 메세지를 전송하면, Disk에 Log를 기록하는 프로그램과 화면에 Log를 출력하는 프로그램이 각각 메세지를 수신한다. 1. 교환(Exchanges) 이전.. 2022. 1. 12.
[RMQ] Python으로 배우는 RabbitMQ 튜토리얼(2) - Work Queue - Pika Python Client 사용 - 필수조건 : pika RabbitMQ Client 버전 1.0.0. - RabbitMQ 5672 port process running 첫번째 실습에서 명명된 큐에 메세지를 보내고 받는 프로그램을 만들었다면, 이번 글에서는 시간이 오래 걸리는 작업에 사용하거나 여러 작업자에게 분산하는데 사용할 작업 대기열(Work Queue)에 대해서 배워보려고 한다. (시간이 걸리는 작업을 구현하기 위해 time.sleep()함수를 사용하여 처리할 예정이다.) 작업대기열(Work Queue)의 장점은 작업을 병렬로 처리할 수 있다는 점이다. 먼저 두 개의 worker.py 스크립트를 실행하여 메세지를 처리할 Consumer(worker)를 2개 생성한다. 튜토리얼(1)의 p.. 2022. 1. 12.
[RMQ] Python으로 배우는 RabbitMQ 튜토리얼(1) - Hello World RabbitMQ는 메세징큐 기능을 수행하는 오픈소스이다. 카프카와 동일한 기능을 제공하는 오픈소스 제품이다. 이번 글에서는 Docker로 RabbitMQ 이미지를 다운받아 실행하여 RabbitMQ에 나와있는 튜토리얼들을 수행해보려고 한다. https://www.rabbitmq.com/getstarted.html 여러 언어 중에 Python을 선택해 보았다. 1. 사전 준비 사항 우선 위 실습을 따라하려면 사전에 RabbitMQ가 5672 포트로 설치되어야 한다. 나 같은 경우는 Oracle Linux 장비에 Docker로 RabbitMQ를 실행하였다. 1-1. Docker로 RabbitMQ 다운받아 백그라운드로 실행 root@master:~# docker run -it --rm -d --name rabb.. 2022. 1. 11.
[SpringBoot] 개발환경 설치 1. JDK 11 Download 및 설치 https://www.oracle.com/kr/java/technologies/javase/jdk11-archive-downloads.html Java SE Development Kit 11.0.11 - OS 환경에 맞게 설치파일 다운로드 이후에 cmd 창에서 java -version 확인 C:\Users\syhwang>java -version java version "11.0.11" 2021-04-20 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.11+9-LTS-194) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.11+9-LTS-194, mixed mode) 2... 2022. 1. 7.
[Redis] Redis-Tomcat 연동 설정 및 인스턴스간 Session 유지 테스트 이번 글에서는 redis와 tomcat을 클러스터링하여 세션 Clustering 테스트를 해보려한다. 1. Redis session-manager 다운로드 $ cd /apache/tomcat_9.0.21/servers/download $ wget https://github.com/ran-jit/tomcat-cluster-redis-session-manager/releases/download/2.0.4/tomcat-cluster-redis-session-manager.zip 2. 연동을 위한 라이브러리 및 conf 파일 설정 $ unzip tomcat-cluster-redis-session-manager.zip .... $ cp ./tomcat-cluster-redis-session-manager/lib/.. 2022. 1. 6.
[JVM GC] GC 종류와 동작 방식과 G1GC 튜닝 포인트 1. JVM GC 동작 순서 GC를 수행할 때에는 아래와 같이 Three-Step으로 이루어진다. (1) Heap 영역에 존재하는 객체들에 대하여 접근 가능 여부를 확인한다. (2) GC Root에서 시작하여 참조값을 따라가며 접근 가능한 객체들에 Mark 하는 과정을 진행한다. (3) Mark되지 않은 객체들은 제거(Sweep) 대상이 되고 해당 객체들을 제거한다. * 아래는 GC Root에서 접근 가능한 객체를 판단하는 과정에 대한 설명 GC Root에서 참조하고 있는 객체를 찾고 또 그 객체가 참조하는 객체를 찾아가며 Mark 한다. Mark되지 않은 객체는 접근 불가능한 객체(Unreachable Object)로 판단하고 제거(Sweep) 된다. Sweep 과정에 의해 삭제되면 메모리 단편화가 발.. 2022. 1. 5.
728x90