https://dev-punxism.tistory.com/entry/Event-Driven-Microservices 의 연속본, Data Consistency가 핵심인듯하여 따로 정리한다. Data is a precious thing and will last longer than the systems themselves. by Tim Berners-Lee Software에서 중요한 것은 데이터이다. 결국 우리가 Software를 개발하는 이유가 데이터를 헨들링하기 위해서가 아닐까 생각된다. MSA에서 데이터를 다루는 것은 어렵다. 특히 트랜잭션이 필요한 환경에서는 더 어렵다. 여러가지 방법들이 있지만 전반적으로 대세는 Event Souring으로 보여진다. 개인적으로는 local transaction을 ..
https://learning.oreilly.com/videos/event-driven-microservices/9781491944165/ Event-Driven Microservices Software developers and architects increasingly turn to microservices as a framework for improving the agility and velocity of their development efforts. But is it the right approach? This video presents … - Selection from Event-Driven Microservices [Vid www.oreilly.com 이 글은 위 링크의 강의를 보고 요약/정..
아래 링크의 정리 및 요약입니다. https://www.yegor256.com/2015/05/07/ctors-must-be-code-free.html Constructors Must Be Code-Free It is a bad idea to put executing statements into class constructors because that leads to side effects and uncontrollable behavior. www.yegor256.com 생성자는 반드시 코드가 없어야 한다. public final class EnglishName implements Name { private final String name; public EnglishName(final CharSequenc..
https://www.yegor256.com/2015/02/26/composable-decorators.html Composable Decorators vs. Imperative Utility Methods A decorator pattern, while being the best instrument to keep objects highly cohesive, solid, and loosely coupled, is unfortunately not very popular in traditional Java programming. www.yegor256.com composable decorators라는 이름이 흥미롭다. decorators들을 composable로 사용 할 수 있게 하는 패턴이다. impera..
코루틴 heap 영역에 코드를 두고 실행 할 thread가 코드를 가져가 실행하는 형태 한 코드는 하나의 thread에서만 실행, 전용 thread를 만드는 것과는 차이가 있음 java thread에 동시성 지원을 위한 자원을 효율적으로 사용 코루틴 간에 메세지를 주고 받는 channel등 여러가지 개념이 존재 보통 rxjava보다 가독성이 뛰어나다는 이유로 사용 기본적으로 cpu core수와 같은 수의 thread를 가진다 결국 thread 기반이긴 함 sync vs async, blocking vs nonblocking sync, async는 task가 순차 진행 되느냐 또는 동시/병렬로 진행되는가의 문제 blocking, nonblocking은 io가 block, nonblock인가 https://..
Divide and Conquer, Sorting and Searching, and Randomized Algorithmsby Stanford University 의 Merge Sort : Analysis 정의 Merge sort는 6nlogn+6n의 operation을 갖는다. (n은 array의 수의 갯수) 먼저 한 번의 리컬시브에서 계산량을 구한다.operation의 수는 4m + 2i, j assignm번 루프k assign배열 카피 i 또는 j의 증가m이 1보다 크거나 같다고 가정했을떄 6m 보다 작거나 같다계산의 편의를 위해 6m으로 사용 다음은 총 리컬시브의 양을 구한다. subproblem의 수는 2^n (맨 마지막 level의 노드 수)각 node의 사이즈는 n/2^n 한 리컬시브 계산량..
I am writing about performance tune of indexing rate of elasticsearch. I tried tunning of indexing rate performance for few weeks. I can`t find much more information when I tried search some information on google. That`s why I writing this article. English is not my first language and I doesn`t have confidence of my English. Then please read carefully. Any questions and opinions are welcome incl..
원문 : https://www.elastic.co/guide/en/elasticsearch/guide/current/heap-sizing.html 1. ES_HEAP_SIZE로 조절 가능 2. 메모리의 반은 Lucene에게 주어라, Elasticsearch의 core는 lucene으로 되어있다. ES에 모든 메모리를 할당하면 Lucene이 사용할 메모리가 줄어들어 성능이 더 안좋아진다. ES에 50%의 Memory를 주고 나머지는 Lucene이 사용할 수 있게 해라. 만약 ES에 많은 메모리가 필요 없을것 같다면, 최적화가 가능하다면 좀 더 작은 메모리를 사용해라. 3. 32GB 이상으로 할당하지 마라. 이는 JVM의 OOP 문제이다. 참고 : http://dev-punxism.tistory.com/en..
https://blog.codecentric.de/en/2014/02/35gb-heap-less-32gb-java-jvm-memory-oddities/ 1. JVM 사용시 Heap에 32GB 이상 할당 하지 말라. 2. 32bit 시스템에서는 Object 할당을 4GB 안에서 하지만 64bit 시스템에서는 2^64-1 byte, 18.5 Exabyte에서 할당 할 수 있다. 3. 메모리 주소값이 너무 큰만큼 Object 할당 및 계산에 비효율이 발생 4. 그래서 만든것이 CompressedOops자세한건 여기서 참고 하시라 (https://wiki.openjdk.java.net/display/HotSpot/CompressedOops) 5. 동작 원리는 메모리 영역중 일부는 사용하지 않고 8byte 스키마..
- Total
- Today
- Yesterday
- shenandoah
- CompressedOops
- Intermediate Certificate
- JVM
- ranking
- OOP
- DESIGN
- AWS
- kerberos
- Certificate Chain
- Dynamodb
- Kafka
- authentication
- Java
- GC
- SSL
- Consumer
- oops
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |