묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
DB 분리 관련 질문 드립니다.
강의 보다가 h2로 order-service, user-serivce, catalog-service 각각의 서비스마다 db를 따로 쓰다가 동기화 문제 때문에 하나의 mariadb로 써야 된다는걸 봤는데요. 현업에서는 MSA에서 서비스 마다 다른 db를 쓴다고 알고 있는데, 왜 그렇게 하신건지 궁금해서 질문 남깁니다. 서비스가 작아서 그렇게 해도 된다는 걸까요? 그럼 현업에서는 어떤 방식으로 해결하나요 동기화 문제
-
미해결실전! 스프링 데이터 JPA
영속성 컨텍스트에 대해 질문이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 제가 아직 실무로 JPA를 사용해본적은 없어서 공부만하고 있는데요. 생각해보니까 실무에선 서버가 여러대일 수 있어서 영속성 컨텍스트간의 동기화가 이슈가 될 수 있을것 같은데 이런 부분은 어떻게 해결하나요?동기화나 동시성 등 검색해봤는데 잘 모르겠어서요ㅜ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
유니티클라에서 패킷을 계속 보내지 않고 lockstep이나 추측항법으로 동기화를 할 수 있을까요?
여러 캐릭터를 움직여서 싸우는 유사 RTS장르를 구상중인데요 클라에서 매순간 쏴주는 패킷이 부담되지 않을까 고민중입니다. 패킷을 자주보내지 않고 동기화 하려면 double형이 보통 쓰인다고 얄팍하게 알고있는데요 입력값을 보내서 동기화 하는 추측항법이나 특히나 각클라에서 어긋나면 안되는 lockstep같은경우 유니티 클라이언트에서 실현하려면 기본적으로 제공되는 float형의 Vector3, transform.position이나 다른 여타 제공되는 함수를 다 버리고 double형으로 전부 새로 다시파야할까요? 아니면 일반적으로 쓰이는 보정하는 방법이 있는지요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
동기화 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 왜 맵를 00000000011000 00000000011000 00000000011000 00000000011000 이런식으로 도식화 해서 cango 함수를 이용해서 케릭터가 이동할 수 있는지 없는지를 하는건가요? 2d라서 콜루션이 없어서 만드는건가요? 그냉 케리터의 position 값만 동기화하면 되는거 아닌가요? 3d 환경에서도 위와 같은 방법으로 도식화해서 하나요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
JPA/Spring 동기화 문제와 관련하여 문의드립니다.
안녕하세요. 최근 JPA강의와 Spring boot강의를 연달아 들었는데요, 너무 좋은 강의 감사드립니다. 지금까지 영한님께 배운 내용을 토대로 Spring boot + jpa를 이용하여 사이드 프로젝트를 진행중인데, 동기화 문제와 관련해 문의드리고자 글남깁니다. 제가 문제를 겪은 시나리오는 아래 코드와 같습니다. 이 경우 여러 사용자가 동시에 요청하지 않는 경우에는 문제없이 잘 동작하지만, 동시에 많은 사용자가 접근하게 되는 경우에는 동기화 문제가 발생될 것으로 생각됩니다. ( 어떤 thread가 jpa context에 업데만 해놓고 commit하기전에 다른 스레드에서 쿼리를 통해 데이터를 가지고 온 경우.) 그렇다고 Controller layer에서 단순히 sync 키워드를 사용하게 되면 많은 사용자가 동시에 접근할때, 너무 느려지지 않을까 우려되기도 하는데, 어떤 방식으로 접근하는게 좋을지 조언 여쭙고자 질문드립니다. @Transactional boolean addInformation(Data data) { // 어떤 정보가 현재 DB에 쓰여져 있지 않은 경우에 한해 업데이트. List<Infomation> info infoRepository.findAllWith(data); if (info.size() > 1) return false; /// DB에 없으므로 db update ..... }