일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring cloud
- Redis Sentinel
- weblogic 10
- docker-compose
- cassandra
- ChannelPipeline
- docker
- mybatis
- Airflow
- RabbitMQ
- vue.js
- KAFKA
- Docker Compose
- argo cd
- spring boot
- coalesce
- QueryDSL
- WebLogic
- Hibernate
- JPA
- jmeter
- docker compose mysql
- grafana
- Spring Open Feign
- netflix oss
- redis
- spring boot redis
- MySQL
- Selenium
- Netty
- Today
- Total
목록분류 전체보기 (401)
IT.FARMER
큐를사용하고 공부하다보면 여러가지 큐가 있다는 사실을 안다. kafka, redis queue,rabbit mq, active mq…. 하지만 이큐들이 어떤 메커니즘으로 어떤 철학을 가지고 생성되었는지 까지는 알지 못했다. 그래서 어느순간 궁금하긴했다. 이 제품들의 차이점이 말이다. 기본적인 차이점들은 대부분 알고들있다. AMPQ 프로토콜을 지원한다. 단순 메모리 큐다, TCP 통신을 이용함으로 대용량에 적합하다. 이렇게는 알고있지만 브로커에대해선 아직 생소하다. 그래서 한번 찾아보기 시작했고 이에대해 정리를 해보았다. 메세지큐에는 여러가지 큐들이 있다. 카프카, 레빗엠큐, 엑티브엠큐, 레디스큐까지 다양하다. 헌데 우린 이 메세지큐들이 좋다는걸 알지만 어떤차이점이 있고 언제 어떻게 적절하게 사용하여야 하..
docker kafka 보안 설정 카프카사용시 네트워크 정책이나, 보안설정을 하지 않으면 다른곳에서 컨슈머 서버를 기동시 토픽에 들어간 데이터가 어디서 빠져나가는지 확인 할 수 없다. 이때문에 접근제어 컨트롤를 할 수 있도록 셋팅해주어야 한다. 간단하게 먼저 PLAIN SASL 인증 을 사용하여 server.properties 에서 설정을 할수있다. 더강력한 보안을 위해 PLAIN SALS, SSL/TLS 을 사용 할수 있다. 그렇다고 SALS , SSL/TLS 꼭 사용하여야만 하는것은 아니다. PLAIN SALS, SSL/TLS 사용하지 않고도 다음설정으로 외부 접근을 컨트롤 할 수있다. listener.name.plain.authz.allowlist=192.168.1.1,localhost author..
gradle nexus 연동 사전에 nexus 에 release 저장소와 snapshots 저장소를 만들어 둔 상태에서 gralde 에 nexus를 연동하기 위해 저장소 설정을 추가 한다. gradle v6 이하 (7이상은 ) 여기를 참조 nexus 3.16 이상 //////////////////////////////////////////////////////////////////////////////////////////////// // 전체 프로젝트에 적용될 설정 //////////////////////////////////////////////////////////////////////////////////////////////// allprojects { def nexusUrl = 'http://..
gradle nexus repository upload, maven-publish 연동방법 gradle 에서 6.0까지만 plug-in 으로 maven (apply maven)을 지원하고 v7 부터는 지원하지 않아 maven-publish 를 사용하게 되었다. 사실 기존 방식이 조금더 직관적이었다고 생각이 든다. 셋팅도 좀더 편하고 말이다. 하지만 maven-publish 를 사용하면 사용할수있는 기능이 좀더 많다고 생각이 든다. Maven 게시 플러그인 (gradle.org)
오류- Lock wait timeout exceeded; try restarting transaction db에서 갑자기 락이발생했다고 하며 업데이트하는 쿼리가 타임아웃이발생하며 다음과 같은 오류가 발생했다. Lock wait timeout exceeded; try restarting transaction 검색을 해보니 정말 다양한 이유에 의해 락이 발생하는 것을 확인했고, 상황에 따라 다르게 해결해야 했다. 우리가 겪은 부분은 delete 와 insert,update 에대한 트렌젝션 처리기 한곳에 묶여있기 때문이었다. 삭제를 하고나서 트렉젝션으로 묶었으니 락이걸렸고 , 새로운 트렉젝션으로 업데으트를 하려니 업데이트나, 인설트를 하지 못해서 해당 오류가 나고있었다. 코드는 다음과 같다. AClass { ..
kafka patitioning 과 replication, ack ISR 의 관계 우리는 카프카를 사용하며 고가용성이다, 안정적이다는 이야기를 하며 사용한다. 어떤부분에 있어서 고가용성과 안정적인 부분이 있는지 알아보자. 카프카를 설치하고 토픽을 생성하며 우리는 replication 갯수, 그리고 partition 의 갯수를 정의하게 된다. 이때 replication 과 partation의 의미를 알아보자. replication-factor 3 --partitions 3 우리는 토픽을 생성하며 보통 이렇게 옵션을 넣는다. replication-factor 3 복제 본수에 대한 3벌 --partitions 3 파티션 3개 위에 설명 그대로 토픽 생성시 파티션 3개를 생성하고 , 토픽에 메세지가 오면 다른 ..
Argo Argo CD 란 ? GitOps 방법론을 사용하여 Kubernetes 어플리케이션을 배포 관리 하는 오픈소스 도구이다. 사전 설치 kubernetes 가 설치되어 있어야 한다. kubectl cli가 설치 되어 있어야 한다. Argo CD 설치하기(방법) 설치방법에는 두가지가있다. 첫번째는 helm을 이용하는 방법, 두번째는 manifest를 사용하는 방법이다. 여기서는 두번째 방법을 사용해서 설치한다. 네임스페이스 생성 kubectl create namespace argocd Argo cd manifest 파일 다운로드후 배포 kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifest..
docker 를 이용한 loki 와 promtail, grafana 설정 (docker compose) 앞서 그라파나는 설치했기때문에 그라파나 설치 하는 부분은 생략함. Loki 와 promtail 대한 설명과 역할은 다음 링크에서 확인 loki-promtail-compose.yml loki와 promtail 의 이미지를 담은 yml 파일이다. vim loki-promtail-compose.yml version: '3' services: loki: image: grafana/loki:2.8.0 ports: - 3100:3100 volumes: - ./loki-config.yaml:/etc/loki/local-config.yaml command: -config.file=/etc/loki/local-conf..
docker 를 이용한 gafana, promethous 사용법 (docker compose) grafana-prometheusr-compose.yaml 파일 version: '3' services: grafana: image: grafana/grafana:latest container_name: grafana restart: always ports: - "3000:3000" volumes: - grafana-data:/var/lib/grafana - ./grafana/provisioning/:/etc/grafana/provisioning/ environment: - GF_SERVER_ROOT_URL=http://localhost:3000 - GF_SECURITY_ADMIN_PASSWORD=admin d..