자동차는 엔진 상속 불가-> 다양성 성립 X자동차는 엔진의 기능을 사용하면 되니까 될거 같지만상속을 말로만 들었을땐 부모의 변수를 물려받는것인데이거 자체로만 인지하고 문법적으로 사용하면 좋은 아키텍처가 만들어지지 않는다//아키텍처 : 시스텀 구조의 설계 유형왜? 다형성에 어긋나서 추상화를 만족하지 못한다반대로 강아지는 동물을 상속 받을 수 있다판단할때 강아지야 너 동물이니? OK, 자동차야 너 엔진이니? NO DIP : dependency inversion priniple구체적인 대상에 의존하는게 아니라 추상적인 것에 의존하고 상속을 통한 객체를 찍어서 운영하자왕과 모자장수가 아닌 재판관과 증인에 의존해서 유지보수에 용이하게 만들자 OCP : open closed principle DIP를 사용하면 기존..
브라우저에서 ec2로 post요청을 보내니 CORS정책에 의해 오류가 발생했다 CORS는 인바운드 규칙을 수정하면 해결되니 EC2의 인바운드 규칙에서 모든 브라우저에서 접속 가능하게 변경하면 해결된다 CORS공부하 참고 : https://inpa.tistory.com/entry/WEB-%F0%9F%93%9A-CORS-%F0%9F%92%AF-%EC%A0%95%EB%A6%AC-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95-%F0%9F%91%8F 🌐 악명 높은 CORS 개념 & 해결법 - 정리 끝판왕 👏 악명 높은 CORS 에러 메세지 웹 개발을 하다보면 반드시 마주치는 멍멍 같은 에러가 바로 CORS 이다. 웹 개발의 신입 신고식이라고 할 정도로, CORS는 누구나 한 번 정도는 겪게 ..
목표도커 런타임 설치도커 cgroup driver 설정방화벽 및 네트워크 설정사전준비패키지 업데이트apt update -y && apt upgrade -ySWAP 메모리 해제추후 각 노드에서 kubelet이라는 컴포넌트가 제대로 동작하기 위해서는 리눅스의 SWAP 메모리 기능을 해제해줘야 합니다.sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab swapoff -a도커 설치하기VM전부 해당 작업을 수행해야합니다쿠버네티스가 동작하기 위해서는 컨테이너 런타임이 필요합니다.container.d, cri-o 등이 있지만 .. container.d를 설치하겠습니다.도커에 필요한 패키지 다운로드HTTPS를 통해 도커 Repository에 접근할 것이므로, 접근에 필요한 패키지들을 다운..
소켓통신소켓 통신은 프로토콜 아닌 OS가 만든 인터페이스다OS가 IP연결하고 PORT만 적어두면 통신 시켜줄테니 이것만 지켜! 라고 말하는것 단방향 통신수신자가 송신자한테 RESPONSE하지 않는것 반이중통신전화처럼 동시에 안되고 무전기 처럼 한번에 한명씩만 가능 블로킹 서버 통신클라이언트가 요청을 하면 동기적으로 응답하는서버 = 동기서버 or 블로킹 서버->요청을 받고 처리할때까지 다른 작업을 할 수없다즉 여러 컴퓨터에서 데이터를 받으면 쓰레드가 없기 때문에 하나씩만 데이터를 처리 할 수 있다 멀티스레드 비동기 서버 통신쓰레드를 사용하여 여러 요청들을 병렬로 처리가능 웹서버클라이언트가 리퀘스트를 해야 response를 해준다html == 세계 공통 워드 프로그램웹 부라우저 == html 뷰어html이 ..
아파치 -> 프로토콜 규약에 맞춰진 서버원래 클라이언트가 HTML을 요청하기 위해선 아파치한테 소켓을 연결하는 등 다양한 작업을 해야하지만브라우저에서 URL을 사용해서 접근하면 아파치가 자동으로 원하는 HTML을 돌려준다 그 후 렌더링만 하면 끝 템플릿 엔진->동적인 기능을 위해 HTML에 프로그래밍 언어를 섞는것반대로 프로그래밍 언어에 HTML을 섞으려면 변수 관리등 힘든 부분이 너무 많다 WEB.XML -> 필터링 파일, 문지기INDEX.JSP -> 만약 특별한 요청 없이 들어오면 INDEX.JSP가 실행되라고 WEB.XML에 적혀 있다 (welcome file) 아파치 = 웹서버톰캣 = 웹어플리케이션 서버 = 라스 브라우저가 html을 요청하면?아파치가 response한다 (버퍼드 reader와 ..
API 서버 호출kubectl cluster-inforoot@k8s-master:~# kubectl cluster-infoKubernetes control plane is running at https://10.178.0.2:6443CoreDNS is running at https://10.178.0.2:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy certificate-authority-data아무런 설정없이 crul IP 이렇게 하면 에러가 발생한다API서버가 사용자의 서버에서 사용하는 인증서가 공식 CA가 아님을 확인하기 때문이다kubeconfig에서 자체 CA를 제공하기 때문에 이를 발급받아 접근해야 한다그것을 kubeconfig의..
요약마이크로서비스 아키텍처는 소프트웨어 프로젝트의 확장성과 유지보수성을 증대하기 위한 방안으로 널리 사용되고 있다. 하지만 다양한 벤더 및 기업의 제공 구조에 따라 표준 없이 구현되는 경우가 많아, 초기 적용 시 기능의 형태와 크기를 결정하는 데 어려움이 있다. 이를 해결하기 위해 Boundary-Control-Entity 유형의 마이크로서비스 약결합을 위한 명세 구조와 약결합 추천 시스템을 제시한다. 제안한 시스템은 마이크로서비스 애플리케이션 개발 시 적용 가능한 결합 구조를 테스트하고, 다양한 도메인에서 재사용이 가능하도록 지원하여 개발 비용 절감에 기여한다는 목표가 있다.서론Boundary-Control-Entity 유형의 마이크로서비스 약결합 추천 시스템을 제안본론마이크로서비스의 결합 추천을 수행..