2022-01-05

1/4 json 직렬화 주의점

 



- 직렬화- 역직렬화 할때 allargsconstructor 가 없으면 에러가 발생한다


toJson 으로 만들때 재귀적으로 해당 함수를 호출하여 null 이 될때까지 string 으로 붙인다

2022-01-04

1/4 호스트 os 에서 도커 컨테이너 os 로 접속하기

 호스트 os 13306->3306 도커 컨테이너로 마리아db 데이터베이스 접속해보기


!!

호스트 ip와 포트번호를 직접 지정해서. 들어갈수있다!!!

현재 empty password 옵션주었기때문에 그냥 엔터치면 들어가짐 헤헤







1/4 도커 실습

- 도커를 다운로드

컨테이너 가상화기술.

도커 실행후

docker info 로 확인

docker ps -a 

docker pull 이미지명

레지스트리로부터 이미지를 다운받는다. 

docker container rm 컨테이너명

run 명령어를 통해서 컨테이너 생성및 실행 동시에 할 수 있음. 

- 옵션

- p 포트포워딩. 호스트 os를 컨테이너의 os 와 연결시켜주는 통로를 뚫는다

--name 옵션지정하면 원하는 이름으로가능

-d detached mode 데몬으로 백그라운드 실행

-e environment 기타 환경변수 넣을 수 있다. 

 




2022-01-03

1/3 sleuth 를 이용하여 msa 통신을 추적하기

 


- msa 서비스는 하나의 서비스가 다른 여러 서비스들을 호출하고. 또 그것이 비동기적으로 다른스레드로 요청되기 때문에 하나의 트랜잭션을 추적하기에 어려움이 있다

- 이것을 도와주는 것이 sleuth 라는 라이브러리

- 하나의 요청 단위를 trace Id로, 스레드별로 id를 두개 

traceId는 하나의 요청단위에 있어서 유니크하며 이것은 서비스간 소통을 할때에도 동일하게 유지된다 (신기하군. AOP 로 구현할수있을것같음 )

위 이미지에서보듯이 스레드가 달라졌다 - feignClient 이용한 비동기요청

그러나 traceId 는 유지된다. 


동일하게 - 호출된쪽의서비스에서도 해당 traceId를 유지하고있는 것을 확인할 수 있다. 

이것을 zipkin서버와 연동하여 시각화 하면 더 좋다고는 하는데!!zipkin자체서버를 또 만들어야한다는 부담은 있다.. sleuth 만 넣어줘도. 좋을듯??

근데 - 결국에는 로그를 계속 심어줘야해서.... -> 이부분 어짜피 AOP로 해야되니까 걍 sleuth 안쓰고 다 AOP직접 구현해서 할수있을것도 같네...

2022-01-02

1/2 mariadb 설치 및 패스워드 변경

 1. homebrew install mariadb

2 . 초기의 경우 공백의 패스워드로 접근 가능

mysql.server start 

한후

mysql -u root -p 

로 접속하고 그냥 패스워드는 앤터

3. 패스워드 재설정

set password for 'root'@'localhost' = password('새로운 패스워드');

4. select host, user, authentication_string from user;

하면 패스워드가 암호화되어 들어가있는것확인할수있음!



1/2 카프카 설치 및 실행

 1. 아파치 홈페이지 혹은 homebrew 이용하여 카프카 설치

2. 주키퍼 실행( 브로커들을 관리하고, 리더 브로커를 선출하는 역할)

- 이전에, localhost 가 listen 할수있도록 config 파일을 수정한다. 

3. 카프카 서버 실행

4. 카프카 토픽생성 


5. 프로듀서 실행
6. 컨슈머 실행


- 카프카의 장점:

다양한 데이터 소스가 있을수있다. 몽고 DB같은 형식, RDB형식등등.. 프로듀서도 다양하고 컨슈머도 다양하다. 프로듀서 입장에서 일일이 이 컨슈머의 타입에 맞추어서 convert 하기란 이만저만 복잡한것이 아니다. 일일이 컨버터를 구현하고 커스터마이징해야하므로

- 이때 카프카와 같은 미들웨어를 사용하면 . 보내는 쪽도 받는쪽도 커스터마이징 필요없이 카프카만 상대하면 된다. !! 

2022-01-01

12/31 rabbitMQ 윈도우 설치

 

1.  https://erlang.org/downloads

다운로드

2. https://rabbitmq.com/install-windows.html#installer

서버 버전 다운로드. 윈도우 인스톨러 이용

3. 윈도우 환경변수 > 시스템 환경변수 >  Path 에 각각 추가




4. ELRANG_HOME 시스템 환경변수 추가




5. 윈도우 커맨드 창 관리자 권한으로 실행 후

rabbitmq-plugins enable rabbitmq_management 

명령어 실행으로 플러그인 설치


6. 서비스 에서 rabbitMQ설치확인


--------------------------

23.1 버전의 erlang은 현재 최신버전의 rabbitMQ와 호환되지않는 문제발생하여
최신버전인 24.2로 다시 다운로드 하였다.
rabbitmq-server로 시작!!


일단 로그인의 경우 guest/guest로 가능하다.



0328 fdisk, mkfs, mount, fstab

 1. 하드디스크를 붙인다. 2. fdisk -l로 하드디스크를 확인한다.  - interactiive한 커맨드모드 사용하여 (m) 붙인 하드디스크의 파티셔닝을 한다.  - 마지막에 w를 해야 실제로 반영이 된다.  3. mkfs를 하여 어떤 파일시스...