[Spring] 아키텍처(Architecture)

Use_Silver·2022년 2월 16일
0

Spring

목록 보기
2/10
post-thumbnail

아키텍처(Architecture)

 - SW , HW , NW
 - 모놀리틱(Monolithic) vs 마이크로서비스(Microservies)
   ------------------------    -----------------------------------
        일체형                        조립형 
 
 - System 가상화
   - System 가상화 : Hyper-V , VM SW(Virtualbox, VM Workstation, ,,) , 
   - Process 가상화 : ~~~> Docker -> Kubernetes
   - Network -->   : Underlay [ pNIC , pSwitch , pRouter ] ,  Overlay [ vNic , vSwitch, vRouter ] 

 - Service 가상화

   - 모놀리스(Monoliths)
   - 분산된 모놀리스(Distributed Monoliths)

   - 모듈형 모놀리스(Modular Monoliths)

	- 모듈(Module) : 서로 관련성이 높은 Class 들의 집합 --> Java 의 Package

	- 모듈화(Modularization) : SW 시스템을 분해해서 하위 시스템과 컴포넌트 그룹을 묶는 액션 
				- 연계, 결합, 융합 

	- 컨텍스트 매핑(Context Mapping) : 의존성(Dependency) 주입(Injection) , AoP , JDBC, MVC , Web MVC 	
					 단일형 Spring IoC Container --> Spring/Spring Boot

		- 컨테이너(Container) 에서 인지 <- 하위 시스템과 컴포넌트 연결 설정 정보 
			- ~~~.XML( Schema ) 구성
			- @Annotation 설정 

      = Spring Framework
	- Java 기반 Application을 구축하는 표준 Web Framework ( 의존성(Dependency) 주입(Injection) )

      = Spring Boot 
	- Spring Framework 재구성 ( Spring Framework - Enterprise 제거 )
	- REST 지향 Microservice Framework 제공

		#. REST 방식으로 전환
		  -  REST :  Representational State Transfer 
 		  -   URI + GET/POST/PUT/DELETE 동작 + 경량화된 Data(JSON)

	  - @RequestMapping
	  - @RestController

		- 스프링프레임워크 4.x 버전 이상부터 사용가능한 어노테이션
		- @Controller에 @ResponseBody가 결합된 어노테이션
	
		- 컨트롤러 클래스에 @RestController를 붙이면, 
		- 컨트롤러 클래스 하위 메서드에 
			@ResponseBody 어노테이션을 붙이지 않아도 
			문자열과 JSON 등을 전송 가능

	REST API란?

		- REST 특징을 지키면서 API를 제공하는 것을 의미

	REST 구성
		- 자원(Resource) : http://velog/users라는 형태의 URI
		- 행위(Method) : GET/POST/DELETE/PUT과 같은 메소드
		- 표현(Message) : JSON, XML 등의 형태를 이용해 표현
	<예시>

	HTTP POST, http://velog/users/
	{
  		"users": { "name": "sol" }
	}		

		- restful API를 보낼때 URI / HTTP Method / payload를 이용

	URI(명사)
		해당 사이트의 특정 리소스 위치를 나타내는 "유일한" 주소
		- http://www.naver.com/news => news라는 특정한 리소스의 위치를 나타내는 유일한 주소

	HTTP Method( get, post, put, delete, patch )(동사)
		- HTTP request가 의도하는 action을 정의한 것

	- Payload
		- HTTP request에서 server로 보내는 데이터
		- (body에 담아보내는 데이터)

	- API Gateway를 이용하면 통합적으로 엔드포인트와 REST API를 관리

   - 마이크로서비스(Microservies) Architecture  --> MSA 

	모듈(Module) --> 서비스(Service)

	Data 지향적 Architecture  --> Service 지향적 Architecture 

           = Spring Cloud == > [ Spring Boot ] + [ Docker ] 
		------------------------------------------------------------------------------------------------------
		Web Service 구조 이해 + [ Front : HTML/CSS/JS ] + [ BackEnd : Servlet/JSP/JDBC/SQL ] + [ DB ] + [ Service/Network ]
		

[ 참조 URL ]

profile
과정은 힘들지만😨 성장은 즐겁습니다🎵

0개의 댓글