Hồng Quân Nguyễn
6 questions
2 answers
Avatar
1
Hồng Quân Nguyễn Beginner
Cách truy vấn và xử lý dữ liệu lớn trong Oracle(table khoảng 50M record)
chào mọi người. <p> </p> <p> Em có một module xử lý bất đồng bộ nhiều tập user(khoảng 2-3M user mỗi tập), mỗi tập user cần truy vấn(với các điều kiện khác nhau tùy vào tập user đó) trong bảng user(có khoảng 50M record). Nếu Mỗi lần xử lý một tập user bất kỳ thì em sẽ truy vấn cả tập user lên chương trình nhưng khi đó việc truy vấn rất chậm và tràn bộ nhớ chương trình nên em có định sẽ cache các id của các tập user đó vào redis theo từng batch và xử lý từng batch user id, để lấy được user cần xử lý thì em sẽ truy vấn theo id(vì id có index nên em nghĩ sẽ nhanh hơn) và không tràn bộ nhớ. Mn thấy cách này có ổn không và có cách nào nhanh hơn không ạ? </p>
Answer
Avatar
1
Hồng Quân Nguyễn Beginner
Synchronous Redis trong Spring boot
chào mn, em có sử dụng Redis trong project của mình. Hiện tại em có 2 module cần thao tác trên một tập thuê bao với tốc độ nhanh(vì nếu truy vấn dưới database thì rất chậm do dữ liệu nhiều).Em hướng sẽ cache hết tập thuê bao này trên Redis. em có 2 hướng: <ol> <li>chỉ cache id và sau đó sẽ truy vấn theo từng id(id có index nên em nghĩ sẽ nhanh)</li> <li>cache cả toàn bộ thông tin nhưng như thế nếu thuê bao cập nhật thông tin thì trên cache sẽ phải đồng bộ như nào.</li> </ol> <ul> <li>cả 2 đều phải lấy dữ liệu kiểu đồng bộ thì trong Java có thư viện nào hỗ trợ không ạ?</li> <li>Nếu cache trên redis mà redis sập, dữ liệu bị mất đi thì phải làm sao ạ?</li> <li>Mn còn ý tưởng nào hay thì góp ý giúp em với :D</li> </ul>
Answer
Avatar
1
Hồng Quân Nguyễn Beginner
kafka serializer và deserializer
hi mn, em đang sử dụng kafka cho sản phẩm của mình. Về việc ser/des thì trong dự án thực tế thì mn hay dùng cách nào để ser/des vậy ạ? em tính sử dụng avro nhưng lại phải cài thêm schema registry vậy nên dùng Json/Protobuf/Avro sẽ tốt hơn ạ?
Answer
Avatar
1
Hồng Quân Nguyễn Beginner
Làm sao để chia đều dữ liệu trong 1 bảng user cho n instance của hệ thống
Hi mn, em có 1 hệ thống chạy nhiều instance của module UserService. các instance này sẽ lấy dữ liệu trong bảng user để xử lý. em muốn chạy 6 instance, với 6000 user. em sẽ chia đều cho mỗi instance 1000 user: <p> </p> <p> nếu 1 instance bị stop thì làm sao nó có thể chia lại các user cho các instance khác vậy anh? và dữ liệu các user đang xử lý được 1/2 rồi thì khi chia lại cho các instance khác thì nó vẫn tiếp tục xử lý tiếp chứ ko xử lý lại từ đầu vậy anh(chỗ này em tính dùng redis để cache lại được không anh, instance đấy stop thì dữ liệu trên redis vẫn còn) </p> <p> </p> <p> nếu User được thêm vào thì dùng các nào để có thể chia đều cho các instance là tốt nhất anh. Em đang sử dụng Java Spring boot và Redis ạ </p>
Answer
Avatar
1
Hồng Quân Nguyễn Beginner
Làm sao để đồng bộ thông tin giữa 2 module Java trên cache
Hi anh Dũng, Em có 2 module Java cùng lấy thông tin dữ liệu trên cache, em đang sử dụng redis thì có cách nào đồng bộ giữa 2 module như kiểu: <p> </p> <p> khi có module A đọc hoặc ghi thì module B sẽ đợi module A xong r mới thực hiện và ngược lại </p>
Answer
Avatar
1
Hồng Quân Nguyễn Beginner
Cách viết JUnit trong dự án Java
Hi, chào mọi người. em có vài thắc mắc về việc viết Unit Test: <ol> <li>Viết bao nhiêu case cho một method xử lý logic, ví dụ nếu một method có khoảng 20 case thì vẫn phải viết đủ 20 case ạ? như thế có vẻ khi sửa code ở method đó thì người khác sẽ rất tốn thời gian để đọc và sửa.</li> <li>Với các dự án viết bằng Spring, có RESTFul API thì mình sẽ viết Test cho những tầng nào ạ? tất cả hay chỉ ở tầng service ạ?</li> <li>coverage tối thiểu bao nhiêu % là đủ tốt ạ?</li> <li>Có project opensource mẫu nào về việc viết Unit Test cho các dự án Java core, Spring không ạ?</li> </ol> <p> Mong mn giải đáp giúp em. Em cảm ơn ạ! </p>
Answer