본문 바로가기

Develop/Server45

RESTFul API 설계 팁 - Consumer first 개발하거나 설계하는 사람의 시각에서가 아닌 실제 사용하는 사용자 입장에서 직관적이고 명료하게 설계해야 한다. 소비자는 엔드 유저인 실제 고객이 아니라 이 api를 이용하는 사람이 될 것이다. - Make best use of HTTP http의 메서드와 request, response 의 타입, 헤더값 등을 이용하는 등 http의 장점을 모두 사용해서 설계할 필요가 있다. - Request methods 최소한 메서드의 4 종류는 구분하여 설계하라 . GET, POST, PUT, DELETE 를 이용하여 crud 를 구분하여 설계하자 - Response Status 각각의 api 요청에 따른 응답 코드가 전송되어야 한다 (200, 404, 400, 201, 401 등..) .. 2023. 2. 15.
다중 서버 환경에서 Session 클러스터링 하기 실무에서 서비스를 한대의 서버로 운영하는 경우는 거의 없다. 보통은 동일한 기능을 제공하는 여러대의 서버를 제공하고, 서비스의 부하를 분산 시킨다. 예를 들어 내가 Was 서버 3대를 운용한다고 가정해보자. 그런데 위의 시스템은 치명적인 문제가 있다. 바로 각서버가 세션 정보를 공유하지 못한다는 것이다. 그러다보니 로그인 서비스를 통해 Session ID 가 Was 1번 서버에 생성이 되고 저장이 되어도, 다른 서비스가 1번 was가 아닌 2번이나 3번 was로 요청이 되면 session ID가 없어 500에러를 발생시킬 것이다. 이러한 문제를 해결하기위해 우리가 서버단에서 별도로 Session 관리를 해주어야한다. 오늘은 Session을 처리할 수 있는 몇가지 방법을 소개하고자 한다. 1. Sticky.. 2021. 9. 16.
[Linux] IO 부하를 예측하는 명령어 두가지 iotop 와 iostat 지난번에 cpu, memory의 상태를 측정하는 기본적인 명령어인 top를 정리했었다. https://devkingdom.tistory.com/232 [Linux] linux 인프라 지표 모니터링을 하기위한 명령어 top 요즘 모니터링에 대한 관심도가 굉장히 높아졌다. 내가 자주 쓰는 linux 인프라 지표 모니터링 3가지 방법을 공유하려 한다. top 먼저 이건 가장 기본적인 명령어이다. 이 명령어를 통해서 CPU나 메 devkingdom.tistory.com 그런데 인프라적인 관점에서 가장 기본적으로 체크해야할 사항이 cpu, memory 오늘은 IO 부하를 예측하는 두가지 명령어를 알아볼 것이다. iotop iotop는 시스템에서 돌아가는 전체 프로세스의 io 통계를 볼수 있는 명령어다. iotop.. 2021. 5. 27.
[Linux] linux 인프라 지표 모니터링을 하기위한 명령어 top 요즘 모니터링에 대한 관심도가 굉장히 높아졌다. 내가 자주 쓰는 linux 인프라 지표 모니터링 3가지 방법을 공유하려 한다. top 먼저 이건 가장 기본적인 명령어이다. 이 명령어를 통해서 CPU나 메모리 상태를 확인할 수 있다. 그리고 시스템안에 존재하는 각 프로세스의 CPU와 메모리 사용 상태를 5초간격으로 업데이트하여 출력해준다. 간단하게 화면 구성을 설명 드리겠다 맨 첫줄에 top - 13:28:02 up 1:08, 1 user, load average:0.00, 0.01, 0.03 이부분을 먼저 해석해보면 현재 서버시간은 13:28:02 이고(top - 13:28:02), 가동중이며 (up), 1시간 08분째 돌고 있고(1:08), 1 명의 유저가 사용중이며, (1 user), 부하율은 0.0.. 2021. 5. 26.
[Tomcat] Linux(CentOS 7 버전) 에 Tomcat 설치하여 구동하기 하이. 오늘은 Linux (CentOS 7) 위에 Tomcat을 설치하여 구동하려한다. 회사에서 쓰는 Linux가 Redhat이라 나도 CentOS에다가 하는 점 이해 부탁드린다. 먼저 오늘 할걸 설명드리자면 여러분들이 보통 간단한 프로젝트할때 많이 쓰시는 Tomcat을 설치한번 해볼꺼다. 1. JAVA 설치 Tomcat을 설치하려면 우선 java를 설치해야한다. java는 Open jdk 1.8 버전을 다운받아 사용하려한다. 여러 경로를 이용하여 다운이 가능하시겠지만 나는 아래의 경로에서 다운 받았다. jdk.java.net/java-se-ri/8-MR3 Java Platform, Standard Edition 8 Reference Implementations Java Platform, Standard.. 2021. 2. 2.
[linux] Name Server 구축 저번 포스팅에서 네임서버에 대해 설명드렸었다. devkingdom.tistory.com/210?category=834848 [Linux] Name Server 란? 흠... CentOS가 더이상 배포되지 않느다니 충격이다.. ㅜㅡㅜ 이제 ubuntu 로 넘어가야겠다 그래도 회사에서는 redhat리눅스를 쓰니.. ㅎㅎㅎ 공부할겸 dns 서버를 만들어 봤다. dns 서버는 Domain Name System devkingdom.tistory.com 본인의 pc에서VMWare로 서버를 만들면 , 바라보는 네임서버는 Default 로 로컬 네임 서버 (192.168.111.2) 로 세팅되어 설정 된다. 그런데 보통 기업에서는 네임서버를 따로 구축해서 세팅해놓곤 하는데, 우리도 ... 비슷한 환경을 설정해두고 한번.. 2021. 1. 14.
[Linux] Name Server 란? 흠... CentOS가 더이상 배포되지 않느다니 충격이다.. ㅜㅡㅜ 이제 ubuntu 로 넘어가야겠다 그래도 회사에서는 redhat리눅스를 쓰니.. ㅎㅎㅎ 공부할겸 dns 서버를 만들어 봤다. dns 서버는 Domain Name System 서버의 줄임말로 그냥 네임서버라고 부르기도 한다. 우리가 웹브라우저에서 다음을 접속할때 http://www.naver.com 이런식으로 url을 을 입력해서 사이트에 접속한다. 이런 url로 특정 서버에 접근하려면 이 url을 서버 컴퓨터의 ip로 변환시켜줘야한다. 이 일을 해주는게 바로 dns 서버이다. 네트웍상에서 사용되는 모든 컴퓨터는 고유의 ip가 있다. 그런데 이 ip를 이용해 컴퓨터에 접속하는건 서버-서버 간 통신을 하거나 하는 등의 특수한 경우를 제외하면.. 2021. 1. 13.
[Server] SSH 서버 구성하기 이전 포스팅에서 telnet 서버 구성을 다뤘었다. devkingdom.tistory.com/199 [Server] CentOS에서 telnet 서버 만들기 하이 ~! 오늘은 텔넷서버를 한번 설치해보도록 하겠다. 원격지에서 리눅스 서버에 접속하는 가장 기본적인 방법이니 잘 숙지해두도록하자. 텔넷 서버는 아래의 서버 구축과정을 거쳐서 진행될 devkingdom.tistory.com 오늘은 OpenSSH 서버를 구성해볼것이다. 이 서버는 텔넷서버와 비슷한 역할을 하지만 데이터 전송 과정에서 패킷을 암호화하는 과정을 거친다. 위와 같은 서버를 실제로구축해보자. 먼저 아래 명령어를 쳐서 SSH 서버의 설치 유무를 확인하고 가동여부를 확인해보자. rpm -qa openssh-server systemctl stat.. 2020. 11. 5.
[Server] CentOS에서 telnet 서버 만들기 하이 ~! 오늘은 텔넷서버를 한번 설치해보도록 하겠다. 원격지에서 리눅스 서버에 접속하는 가장 기본적인 방법이니 잘 숙지해두도록하자. 텔넷 서버는 아래의 서버 구축과정을 거쳐서 진행될 것이다. 먼저 리눅스에 텔넷 서버를 설치한 뒤에 기동해보자. 일단 부팅후 root 사용자로 접속하고 터미널을 하나 열어서 아래 명령어를 통해 텔넷 서버를 설치해주자. yum -y install telnet-server 설치가 완료되고 나면 아래의 명령어를 입력하여 설치가 정상적으로 되었는지 확인해보자. rpm -qa telnet-server 위의 명령어를 치면 나오지만, 저렇게 풀로 패키지명을 외울수는 없기에 grep 명령어를 사용할수도 있다 (grep 명령어는 실무에서 정말 많이 사용하는 명령어다) rpm -qa | ge.. 2020. 10. 30.