728x90
반응형

전체 글 553

2024년, 앞으로의 2025년

한동안 열심히 공부한 흔적을 남기던 해당 블로그에 자주 들어오지 못한 이유는 2023년 11월 취업을 하게 되었습니다.취업을 하고 난 후 성취감과 해방감에 몇 개월 동안은 꾸준히 하던 공부도 놓았었고, 회사 적응하며 시간을 보냈습니다. 현재는 금융권 전산 개발자로 재직 중이며, 약 2주 뒤 입사한 지 1년이 됩니다. 매일 반복적인 일상을 보내는 게 얼마나 무서운 일인지 새삼 느껴집니다. 1년이 너무 짧게 느껴지고 이렇게 비슷한 일상으로 제 삶이 흘러갈 것만 같아 약간은 걱정도 되네요. 사람이 참 간사한 게, 1년 전에는 어디든 취업하고 싶다고 외치며 다녔었는데 현재는 그 시간이 더 그리울 때가 많습니다. 학교 친구들과 밤 늦게까지 공부하며 야식도 시켜먹고 걱정도 많았지만 미래에 기대도 되었던 그 시간들이..

공부 외 2024.10.26

2023년 하반기 취업 준비 회고 (서류, 코딩테스트 유형, 면접)

2023년 하반기 공개 채용 시즌에 취업을 도전 하였고 재도전 없이 한 번에 취업을 성공하게 된 입장에서 누군가에게 조금이라도 도움이 되었으면 좋겠다는 생각으로 글을 작성합니다. 지극히 개인적인 느낀점이므로 이 사람을 이렇게 생각하는구나 정도로만 생각하시면 좋을 듯 합니다. 취업 준비를 시작하면서 걱정만 앞섰던 것 같고 뭐부터 해야 할 지 모르겠어서 다른 사람들의 취업 후기를 참고하고자 열심히 구글링했었는데, 개인적으로 아쉬운 느낌이 많이 들었던 것 같습니다. 물론 자신의 정보를 드러내면서 정보를 공유하는 일이 쉽지만은 않지만 조금 더 자세하고 상세한 정보가 필요하단 생각이 많이 들었습니다. 그래서 저는 제 모든 과정(기억나는 과정만)을 남겨 볼 생각이고 조금이라도 더 도움이 되어서 감이라도 잡아가셨으면..

카테고리 없음 2023.11.03

[Protocol] STOMP Protocol

기본적으로 채팅 서비스를 구현하기 위해서는 Half Duplex 방식의 HTTP보다 Full Duplex 방식의 Socket 통신을 기반으로 구현한다. 그리고 이 위에 메시징 전송을 효율적으로 하기 위해 프로토콜 STOMP Protocol이 존재한다. 채팅 서비스를 개발하기 이전에 STOMP Protocol이 무엇인지 알아보자. ▶ STOMP란 ? STOMP는 Simple / Stream Text Oriented Messaging Protocol 의 약자이다. 말 그대로 간단한 문자 기반 메세징 프로토콜이다. STOMP는 웹 상에서 텍스트 송 / 수신을 위해 미리 정의된 특정한 규칙이다. STOMP에서 정의한 규칙을 준수하면 여러 언어, 여러 플랫폼 간 메세지를 상호 운영할 수 있다. 기본적인 구조는 P..

Spring/Chat 2023.10.09

Apache jMeter란?

Apache jMeter Apache JMeter는 서버가 제공하는 성능 및 부하를 측정할 수 있는 테스트 도구이다. JMeter는 순수 Java 애플리케이션 오픈소스이며 서버나 네트워크 또는 개체에 대해 과부하를 시뮬레이션하여 강도를 테스트하거나 다양한 부하 유형에서 전체 성능을 분석하는 데 사용할 수 있다. 비슷한 부하테스트 도구로는 Apache Benchmark, Ngrinder, Pinpoint, Gatling등이 있다. 다음은 Apache JMeter가 가진 특징을 나열한 것이다. 다양한 프로토콜 / 서버를 테스트 할 수 있다. 웹 : HTTP, HTTPS SOAP / REST Web Service FTP DB Mail 사용자 시나리오 모델링 jMeter는 가상 사용자를 생성하고 웹 애플리케이션..

카테고리 없음 2023.09.11

[Kafka - 03] 프로듀서의 내부 동작 원리와 구현, 중복 없는 전송

프로듀서가 전송하려는 메시지들은 프로듀서의 send() 메소드를 통해 시리얼라이저, 파티셔너를 거쳐 카프카로 전송된다. 먼저 파티셔너가 무엇인지 알아본다. 1. 파티셔너 카프카의 토픽은 성능 향상을 위한 병렬 처리가 가능하도록 하기 위해 파티션으로 나뉘고, 최소 하나 또는 둘 이상의 파티션으로 구성된다. 그리고 프로듀서가 카프카로 전송할 메시지는 해당 토픽 내 각 파티션의 로그 세그먼트에 저장된다. 따라서 프로듀서는 토픽으로 메시지를 보낼 때 해당 토픽의 어느 파티션으로 메시지를 보내야 할지를 결정해야 하는데, 이때 사용하는 것이 바로 파티셔너이다. 프로듀서가 파티션을 결정하는 알고리즘은 기본적으로 메시지(레코드)의 키를 해시 처리해 파티션을 구하는 방식이다. 예상치 못한 많은 양의 메시지가 카프카로 인..

CS/Apache Kafka 2023.08.31

[Kafka - 02] 카프카의 내부 동작 원리와 구현

※ 카프카의 내부 동작 원리와 구현에서 가장 중요한 부분 중 하나는 리플리케이션 동작이다. 리플리케이션에 이어, 리더와 팔로워의 역할과 리더에포크와 복구 동작들을 정리한다. 그 다음 리플리케이션 동작과 관련 있는 컨트롤러와 컨트롤러의 동작, 그리고 로그와 로그 컴팩션에 대해 정리한다. 1. 카프카 리플리케이션 고가용성 분산 스트리밍 플랫폼인 카프카는 무수히 많은 데이터 파이프라인의 정중앙에 위치하는 메인 허브 역할을 한다. 이렇게 중앙에서 메인 허브 역할을 하는 카프카 클러스터가 만약 하드웨어의 문제나 점검 등으로 인해 정상적으로 동작하지 못한다거나, 카프카와 연결된 전체 데이터 파이프라인에 영향을 미친다면 이는 매우 심각한 문제를 초래한다. 이때 안정성을 확보하기 위해 카프카 내부에서는 리플리케이션이라..

CS/Apache Kafka 2023.08.25

[Kafka - 01] 카프카 기본 개념과 구조

※ 카프카를 구성하는 주요 요소 주키퍼(Zookeeper) : 아파치 프로젝트 애플리케이션 이름이다. 카프카의 메타데이터(metadata) 관리 및 브로커의 정상상태 점검(health check)를 담당한다. 카프카(Kafka) 또는 카프카 클러스터(Kafka cluster) : 아파치 프로젝트 애플리케이션 이름이다. 여러 대의 브로커를 구성한 클러스터를 의미한다. 브로커(broker) : 카프카 애플리케이션이 설치된 서버 또는 노드를 말한다. 프로듀서(producer) : 카프카로 메시지를 보내는 역할을 하는 노드를 말하낟. 컨슈머(consumer) : 카프카에서 메시지를 꺼내가는 역할을 하는 클라이언트를 총칭하낟. 토픽(topic) : 카프카는 메시지 피드들을 토픽으로 구분하고, 각 토픽의 이름은 카..

CS/Apache Kafka 2023.08.23

[AWS 네트워크 보안] 보안그룹과 네트워크 ACL, VPC 플로우 로그, AWS WAF

01. 보안 그룹과 네트워크 ACL 1.1 접근 제어 (Access Control) 1.1.1 접근 제어 개요 일반적인 측면에서 접근 제어는 보안상 위협으로부터 제반 시설 및 환경을 보호하기 위한 보안 대책이다. 인가된 대상은 접근에 허용하고, 인가되지 않은 대상은 접근을 거부하여 보안 측면을 강화할 수 있다. 1.2 보안 그룹과 네트워크 ACL 1.2.1 보안 그룹과 네트워크 ACL 개요 AWS에서는 네트워크 인프라 보호를 위한 트래픽 제어 정책으로 보안 그룹(Security Group)과 네트워크 ACL(Network Access Control List) 기능을 활용한다. 보안그룹과 네트워크 ACL은 IP 주소와 프로토콜과 포트 번호를 통해 대상을 식별하고 제어 정책에 따라 대상의 허용 여부를 판단한..

CS/aws 네트워크 2023.08.22

[Kafka - 00] 카프카 개요 및 특징, 구성

00. Kafka란? Kafka는 분산 데이터 스트리밍 플랫폼으로, 대량의 실시간 데이터를 처리하고 저장하는데 사용되는 오픈 소스 솔루션이다. 아파치 카프카(Apache Kafka)라는 이름으로도 잘 알려져 있다. 이는 LinkedIn에서 개발된 후에 아파치 소프트웨어 재단에 기증되어 개발 및 관리되고 있다. Kafka는 다양한 애플리케이션 간에 데이터 스트림을 안정적으로 전달하고, 실시간으로 데이터를 처리, 분석하고 저장하는 데 사용된다. 대표적인 특징으로 높은 처리량, 순서 보장, 적어도 한 번 전송 방식(At least Once), 강력한 파티셔닝, 자연스러운 백프레셔 핸들링, 로그 컴팩션 같은 기능이 존재한다. ▶ 순서 보장 : 이벤트 처리 순서가 보장되면서, 엔티티 간의 유효성 검사나 동시 수정..

CS/Apache Kafka 2023.08.21

[AWS 부하분산] ELB, Route 53, CloudFront, Global Accelerator

01. ELB [Elastic Load Balancing] 1.1 ELB란? 1.1.1 고가용성 환경 구성 VPC 내 단일 서버를 통한 서비스 구성하여 사용자가 접근하는 환경에 대해 단일 서버가 장애가 발생이 되면 서비스를 받을 수 없다. 지속적인 서비스 제공을 위해 서버를 다중화 구성하여 서비스의 연속성을 보장하는 고가용성 구성이 필요하다. 위 그림과 같이 다수의 서버를 구성하여 서비스를 제공하면, 인스턴스 하나가 장애가 발생하더라도 나머지 인스턴스가 존재하여 서비스를 받을 수 있다. 하지만 서비스 타깃을 사용자 입장에서 일일이 지정을 해주어야 한다는 문제가 존재한다. 사용자 입장에서 장애를 인지하여 타깃을 변경하기 전까지는 서비스를 받을 수 없을 것이며 이러한 환경이 서비스 연속성을 보장하는 고가용성..

CS/aws 네트워크 2023.08.11
728x90
반응형