thảo luận Microservices and Cloud Native Group

Bắt đầu nghiên cứu microservice thì coi sách hay nguồn nào mấy cái thím

Microservices thì có rất nhiều nguồn tài liệu. Tiêu biểu thì có của mấy tay to như Chris Richardson, Sam Newman.
 
Ô phen gì mà căng vậy, mình có căng đâu nhề. Sao lại yc mình bỏ đi vậy phen;).

Anw, quay lại chủ đề thớt. Đã phen nào dùng consul chưa nhỉ?
Cái kiểu cười như khiêu khích người khác ấy, mình ko thích. Mà thôi, mình cũng không muốn làm loãng topic. Thím ko bỏ thì mình xin phép ignore.
 
Bình thường các bác làm microservices thì database hay chia ra theo từng service con hay có sử dụng shared database tùy trường hợp ạ. Em mới đụng đến phần này lần đầu nên k có kinh nghiệm
 
Có 1 khía cạnh cực kì quan trọng trong microservices hình như chưa bác nào đề cập là logging, tracing và monitoring. Hiện tại đang làm vs đủ thứ lẩu thập cẩm tool toy.
Giải pháp hiện tại bên bạn là như thế nào? Mình không rành bên microservices, nhưng thường Monitoring/Alerting dùng Prometheus/Alertmanager, Logging thì ELK Stack, còn Sentry cho Tracing. Tiền to, muốn giảm Ops thì Datadog, New Relic, nhỏ thì được chứ infras bự lên thì như đang đốt tiền.
 
Bình thường các bác làm microservices thì database hay chia ra theo từng service con hay có sử dụng shared database tùy trường hợp ạ. Em mới đụng đến phần này lần đầu nên k có kinh nghiệm
Đúng như bạn nói là tùy trường hợp :LOL:
Như mình thường dùng là database-per-services
 
Go thì thấy dùng router thôi như Chi, Gorilla Mux chẳng hạn. nhỏ gọn, mấy cái handler thuần cho dễ test, chỉ phải viết thêm hoặc install thêm một vài cái lib như render json. Validation thì ưng thằng nào install thằng đó.

Nhớ xưa vật lộn với cái Gin context mệt quá :D
 
Giải pháp hiện tại bên bạn là như thế nào? Mình không rành bên microservices, nhưng thường Monitoring/Alerting dùng Prometheus/Alertmanager, Logging thì ELK Stack, còn Sentry cho Tracing. Tiền to, muốn giảm Ops thì Datadog, New Relic, nhỏ thì được chứ infras bự lên thì như đang đốt tiền.
Stack bên mình khá là tả pí lù do dùng multi data center ( GCP , on-prem)
Logging: Stack driver, ELK
Monitoring/Alert: Stack driver, Prometheus, Grafana, Splunk, New relic
Tracing: Stack driver trace, Opentracing, Istio, Elastic Apm. Trước có dùng sentry mà giờ bỏ rồi.

Mấy cái mất tiền thì chả có gì để nói vì dùng nhiều thì charge nhiều, mấy cái tự cài mới mệt. Ví dụ 1 ngày ELK tầm 100tr records, muốn search tầm 3 tháng thì phải làm ntn :D Ngoài ra bài toán về tracing trên multi cluster
 
Giải pháp hiện tại bên bạn là như thế nào? Mình không rành bên microservices, nhưng thường Monitoring/Alerting dùng Prometheus/Alertmanager, Logging thì ELK Stack, còn Sentry cho Tracing. Tiền to, muốn giảm Ops thì Datadog, New Relic, nhỏ thì được chứ infras bự lên thì như đang đốt tiền.

Hoặc có một cách gọn lẹ hơn là chơi nguyên stack Elastic luôn, Elastic APM + EK, có cả logging này nọ luôn. Thích nhất là nó có operator cho k8s nên nhẹ được phần quản lý cho nó.
 
Cho mình hỏi ngu, mà mình cũng hỏi chơi thôi chứ cũng ko đang làm về MicroService:

- Trước mình luôn nghĩ là các service giao tiếp bằng API Rest/SOAP, vậy mà mấy hôm nay đọc được khái niệm "Service Bus", vậy cái này là gì vậy.

- Load Balancer là cái gì vậy. Mình đọc thì hiểu là "router làm nhiệm vụ route các request đến các server khác nhau", mà k biết đúng k.
Việc giao tiếp từ service này qua service kia để get thì người ta sẽ ko dùng service bus mà sẽ giao tiếp qua API vì nó có độ trễ khá cao, mục đích của services bus là để đảm bảo eventually consistency giữa các micro services. Thường sẽ dùng cho những post và put query và thực hiện những long running transaction.
Microservices ko phải là kiến trúc khó về architect mà là nó khó về việc phân chia và tách ra những business domain nào để triển khai, xác định bounded context cho từng services.
 
Ở đây có bác nào kinh nghiệm deploy Serverless không? Bên em đang chuyển sang Quarkus và GraalVM để deploy Serverless đây. Ngoài GraalVM ra còn ông nào hỗ trợ AOT compiler cho Java mạnh không nhỉ các bác.

Sent from Xiaomi Mi MIX 2 using vozFApp
 
Ở đây có bác nào kinh nghiệm deploy Serverless không? Bên em đang chuyển sang Quarkus và GraalVM để deploy Serverless đây. Ngoài GraalVM ra còn ông nào hỗ trợ AOT compiler cho Java mạnh không nhỉ các bác.

Sent from Xiaomi Mi MIX 2 using vozFApp

Hiện tại chỉ có GraalVM thôi mà cũng chưa tối ưu. GraalVM AOT chạy cloud native container cluster, serverless thì phù hợp do startup nhanh, memory footprint thấp, resource usage thấp nhưng performance vẫn chưa ăn đc Hotspot JIT.

Đang dùng Spring quen chuyển sang Quarkus thấy thọt đầu thọt đuôi hơi chán, chờ Spring nó hỗ trợ đầy đủ GraalVM rồi quất luôn một thể, mới ra cái Spring Graal Native 0.6 xài qua thấy cũng ổn ổn. :byebye:
 
Stack bên mình khá là tả pí lù do dùng multi data center ( GCP , on-prem)
Logging: Stack driver, ELK
Monitoring/Alert: Stack driver, Prometheus, Grafana, Splunk, New relic
Tracing: Stack driver trace, Opentracing, Istio, Elastic Apm. Trước có dùng sentry mà giờ bỏ rồi.

Mấy cái mất tiền thì chả có gì để nói vì dùng nhiều thì charge nhiều, mấy cái tự cài mới mệt. Ví dụ 1 ngày ELK tầm 100tr records, muốn search tầm 3 tháng thì phải làm ntn :D Ngoài ra bài toán về tracing trên multi cluster

Bên thím stack chạy tả pí lù nhiều thứ thế này maintenance mệt chết, bên em đang cố gắng gom lại vài thằng cho khỏe :byebye:
 
Bên thím stack chạy tả pí lù nhiều thứ thế này maintenance mệt chết, bên em đang cố gắng gom lại vài thằng cho khỏe :byebye:
Vì cty to, mỗi project lại ngang vs 1 cty con, SA k có vai trò quyết định mà chỉ recommend nên mỗi bên chạy 1 kiểu. Như gateway vừa dùng Kong, vừa Gcp load balancer, bên trong thêm ingress k8s. Vậy nên latency hay network issue cực khó debug thậm chí nhiều lúc buông xuôi :LOL:
 
Vì cty to, mỗi project lại ngang vs 1 cty con, SA k có vai trò quyết định mà chỉ recommend nên mỗi bên chạy 1 kiểu. Như gateway vừa dùng Kong, vừa Gcp load balancer, bên trong thêm ingress k8s. Vậy nên latency hay network issue cực khó debug thậm chí nhiều lúc buông xuôi :LOL:
SA bên thím ở mức nào mà lại chỉ recommend nhỉ, hay do đặc thù công ty nó thế
 
SA bên thím ở mức nào mà lại chỉ recommend nhỉ, hay do đặc thù công ty nó thế
Cái này mình k rõ, có thể mình thiếu thông tin hoặc vấn đề mang tính lịch sử, chỉ biết tóm lại giờ đang có một mở tả pí lù tool. Cái lợi là ae devops tha hồ nghịch :LOL:
 
Vì cty to, mỗi project lại ngang vs 1 cty con, SA k có vai trò quyết định mà chỉ recommend nên mỗi bên chạy 1 kiểu. Như gateway vừa dùng Kong, vừa Gcp load balancer, bên trong thêm ingress k8s. Vậy nên latency hay network issue cực khó debug thậm chí nhiều lúc buông xuôi :LOL:

Con hàng Kong này ngon không thím? Thấy based-on Nginx, biết lâu rồi mà chưa rờ vô bao giờ, đang muốn thay dàn Nginx hiện tại bằng thằng khác cho đỡ công vận hành.
 
Con hàng Kong này ngon không thím? Thấy based-on Nginx, biết lâu rồi mà chưa rờ vô bao giờ, đang muốn thay dàn Nginx hiện tại bằng thằng khác cho đỡ công vận hành.
Hiện bên cty mình thì chưa thấy issue gì, cơ mà stack nào cũng mất công vận hành chứ fen, nhiều hay ít thôi. Vd Kong nó cần redis và Cassandra( Postgres) làm datasource. Nếu bên fen dùng GCP thì còn đỡ chứ on-prem để auto scale đc vs Kong cũng là vấn đề.
Bên Infra đang tính dùng Kong serverless plugin, deploy golang code lên VM chạy Kong instance, dạng như aws lamda hoặc Gcp cloud function.
 
Back
Top