본문 바로가기

2021/103

[시스템디자인 1편] 동기 통신 오래 걸릴 때 해결방안 정리 목차는 시스템 디자인 목차 에 있습니다. [시스템디자인 1편] 동기 통신 오래 걸릴 때 해결방안 정리 동기 패턴 문제점 client 에서 server api 를 호출하는데 응답이 느리다고 가정하겠습니다. 인프라, 네트워크, 기타 등등의 이유로 동기 방식은 request 를 줘서 response 가 올 때까지 기다립니다. 이게 동기 방식의 문제점입니다. 해결방안 message broker 이용 (kafka 같은) 메시지 브로커를 이용하면 client 와 server 간의 결합이 끊어지기에 이런 문제를 해결할 수 있습니다. 그러나 메시지 브로커를 통해 처리하게 된다면 client 에게 응답을 어떻게 줘야할지에 대한 문제점이 있습니다. push 나 문자 이런 것들은 message broker 를 써도 괜찮습니.. 2021. 10. 29.
[spring 5편] spring annotation componentScan, bean 과 component 정리 목차는 spring series 목차 에 있습니다. @ComponentScan 쉽게 말해 Bean 이 될 대상들을 찾아 application context 에 등록을 해주는 역할을 합니다. @Component 어노테이션을 빈 등록 대상으로 인식하고 스캔합니다. @Component, @Controller, @Servicie, @Repository 선언된 클래스가 대상입니다. controller, serivce 등 annotation 에 선언된 것을 추적하면 @Component 로 선언된 것을 볼 수 있습니다. @Configuration 과 함꼐 사용하며, 아규먼트가 없다면 선언된 위치가 basePackages 입니다. @Configuration 은 bean 등록을 위한 설정파일 역할을 합니다. 옛날 spr.. 2021. 10. 24.
sftp 자동화 script (Expect 활용) sftp 자동화 script (Expect 활용) 개념 sftp 자동화를 위해선 Expect 명령어가 필요합니다. Expect 란 원격 프로그램에 접속 했을 때, 해당 원격 프로그램에서 명령어를 수행시킬 수 있는 명령어입니다. 예를 들면, ssh 를 통해 원격 서버에 접속하기 위해선 로그인을 해야하고, 사람이 ID, PW 를 입력해야 합니다. 이러한 작업들을 Expect 를 이용해서 자동화 처리할 수 있습니다. 명령어 send : 원격 프로그램에 보내는 명령어 입니다. 예를 들면, 원격 서버에 ssh 로 접속한 상태에서 send echo hello world 라고 하면 hello world 출력 됩니다. spawn : 원격 프로그램을 실행시키는 명령어 입니다. ex) spawn ssh xxx sftp 자.. 2021. 10. 13.