thảo luận Code trên Mac với Win cái nào sướng hơn?

  • Người tạo chủ đề Người tạo chủ đề bamboo.bamboo
  • Ngày bắt đầu Ngày bắt đầu
hôm nay đi dạo thấy được cái này khá hay
https://github.com/Microsoft/Freeflow

Freeflow works in three modes: fully-isolated RDMA (master branch), semi-isolated RDMA, and TCP (tcp branch).

Fully-isolated RDMA provides the best isolation between different containers and works the best in multi-tenant environment, e.g., cloud. While it offers typical RDMA performance (40Gbps throughput and 1 or 2 microsecond latency), this comes with some CPU overhead penalty.

The TCP mode accelerates the TCP socket performance to the same as host network. On a typical Linux server with a 40Gbps NIC, it can achieve 25Gbps throughput for a single TCP connection and less than 20 microsecond latency.

We will release semi-isolated RDMA in the future. It has the same CPU efficiency as host RDMA, while does not have full isolation on the data path. It works the best for single-tenant clusters, e.g., an internal cluster.

nhìn benchmark chả thua bao nhiêu so với host network :LOL:
 
O vng, bên zalo, có mấy cái app xủ lí tầm 200k concurrent mà chẳng co docker, docket, k8s mẹ gì cả, monolithic vẫn scale bình thường. Micro service làm phát sinh đủ thứ ngôn ngữ, pef thì không đồng đều, phụ thuộc lẫn nhau thằng pef, code kém chất luong làm ảnh hương một cục. Lạm dụng instance thay thế cho chất lượng, code cẩu thả, thay vì tối uu thì scale theo chiều ngang bù cho chất lượng. Đôi khi các bạn dev lấy cái khả năng mở số lượng đó rồi cho rằng mico service mở rộng tốt lắm, nhưng đó chỉ là lí thuyết nếu đã tối ưu tối đa, còn thực tế thì nó ngược lại , scale dễ cho mấy bạn code kém, low pef lấp liếm cho sự yếu kém

via theNEXTvoz for iPhone
lol logic vãi thật... vì là dùng docker nên code cẩu thả...

hố hố hố...

theo lý luận này thì...

- vì hôm nay đã ăn sáng nên không cần phải uống nước...
- vì tôi có một cái xe máy nên quần tôi màu xanh...
- vì con bé hàng xóm nó đẻ nên ông nội thằng bạn tôi đi dạo buổi sáng...

chốt lại là...

đéo liên quan =]]
 
lol logic vãi thật... vì là dùng docker nên code cẩu thả...

hố hố hố...

theo lý luận này thì...

- vì hôm nay đã ăn sáng nên không cần phải uống nước...
- vì tôi có một cái xe máy nên quần tôi màu xanh...
- vì con bé hàng xóm nó đẻ nên ông nội thằng bạn tôi đi dạo buổi sáng...

chốt lại là...

đéo liên quan =]]
Lâu lâu nhảy vô kiếm cái quotes, lấy 1 ý trong một luận cứ để bóp , nói mấy câu vô thưởng vô phạt chán vãi hàng. Đây cũng là một hình thức nguỵ biện trong 10 cái nguỵ biện phổ biến
 
Cụ thể đi, env cho app gì mà phải cần docker thế
web app bình thường thôi, 1 app thường cần mấy cái container như sau: CLI, nginx, PHP, mariadb, redis, elasticsearch, selenium, clamav. App khác cần giống vậy, nhưng thay mariadb bằng 1 version cố định nào đó của mysql hoặc postgres, hoặc thay redis bằng memcached, hoặc thay elasticsearch bằng solr, hoặc thay nginx bằng apache, hoặc thay phiên bản PHP, rồi có thêm python hay nodejs... Làm việc cùng lúc với tầm 4-5 cái app kiểu vậy nếu ko dùng docker thì phải cài bao nhiêu thứ vào Mac cho đủ?
 
Mình chỉ dùng docker để triển khai giữa các môi trường thôi, còn đang dev thì không dùng docker vì mất thời gian
 
C
web app bình thường thôi, 1 app thường cần mấy cái container như sau: CLI, nginx, PHP, mariadb, redis, elasticsearch, selenium, clamav. App khác cần giống vậy, nhưng thay mariadb bằng 1 version cố định nào đó của mysql hoặc postgres, hoặc thay redis bằng memcached, hoặc thay elasticsearch bằng solr, hoặc thay nginx bằng apache, hoặc thay phiên bản PHP, rồi có thêm python hay nodejs... Làm việc cùng lúc với tầm 4-5 cái app kiểu vậy nếu ko dùng docker thì phải cài bao nhiêu thứ vào Mac cho đủ?

Cái lũ này thì tạo server dev riêng chứ cài trên máy làm gì cho khổ ra
 
C


Cái lũ này thì tạo server dev riêng chứ cài trên máy làm gì cho khổ ra
10 thằng dev, mỗi thằng một branch khác nhau thì tính làm 10 vhost trên server dev hả? Rồi có 1 thằng đảm nhận cái task upgrade cái stack thì nó chạy ở đâu? Mà tính cài bao nhiêu thứ trên cái server dev đó?

Mỗi lần sửa cái gì phải push lên server dev rồi refresh để xem kết quả? Rồi mở remote connection để chạy debugger?

Với docker chỉ cần docker-compose up/down cho mỗi project là xong. macOS vẫn sạch sẽ ko cần cài cả một mớ hổ lốn các phần mềm khác nhau.
 
Sửa lần cuối:
web app bình thường thôi, 1 app thường cần mấy cái container như sau: CLI, nginx, PHP, mariadb, redis, elasticsearch, selenium, clamav. App khác cần giống vậy, nhưng thay mariadb bằng 1 version cố định nào đó của mysql hoặc postgres, hoặc thay redis bằng memcached, hoặc thay elasticsearch bằng solr, hoặc thay nginx bằng apache, hoặc thay phiên bản PHP, rồi có thêm python hay nodejs... Làm việc cùng lúc với tầm 4-5 cái app kiểu vậy nếu ko dùng docker thì phải cài bao nhiêu thứ vào Mac cho đủ?

Nhiêu đây mà cần docker á.
Mấy cái này brew thôi là đủ.

Công cài hết đống container này cũng tương đương cài qua brew thôi, resource utilize thì bọn native service tốt hơn docker là chắc rồi. Vậy cuối cùng docker có đc ưu điểm gì đâu nhể? Clean à?
 
Nhiêu đây mà cần docker á.
Mấy cái này brew thôi là đủ.

Công cài hết đống container này cũng tương đương cài qua brew thôi, resource utilize thì bọn native service tốt hơn docker là chắc rồi. Vậy cuối cùng docker có đc ưu điểm gì đâu nhể? Clean à?
docker compose up 5ph là xong 1 stack với đống container rồi. Cài qua home brew ko thành vấn đề, chỉ là anh có chắc anh muốn cài cả đống apache, nginx, php 7.1 - 7.2 - 7.3, mariadb, mysql, postgres, python 2, python 3, nodejs, redis, memcached, solr, elasticsearch 6 - 7 trên cùng một máy? Rồi mỗi khi làm trên app phải nhớ đổi port đổi version đổi path rồi lúc không để ý commit luôn lên repo rồi CI tạch?

Cao điểm làm việc của tôi là có khoảng 40 cái docker container chạy cùng lúc với 5 app.
 
docker compose up 5ph là xong 1 stack với đống container rồi. Cài qua home brew ko thành vấn đề, chỉ là anh có chắc anh muốn cài cả đống apache, nginx, php 7.1 - 7.2 - 7.3, mariadb, mysql, postgres, python 2, python 3, nodejs, redis, memcached, solr, elasticsearch 6 - 7 trên cùng một máy? Rồi mỗi khi làm trên app phải nhớ đổi port đổi version đổi path rồi lúc không để ý commit luôn lên repo rồi CI tạch?

Cao điểm làm việc của tôi là có khoảng 40 cái docker container chạy cùng lúc với 5 app.

Đã dev stack nào thì 100% là cần chứ nói gì nữa. Python trên mac có sẵn rồi kể làm gì.
Mac chứ có phải Win dùng registry đâu mà sợ rác bạn, cài đó xong 2 năm sau vẫn chẳng phải dọn dẹp gì mấy.
Còn đã muốn ko cài thì mở ssh tunnel, đây là cách khá ngon nếu máy yếu đó, bind port lại dễ.

Port thì đâu chả phải đổi, bạn ko đổi ở máy thì đổi ở container có khác gì =))
 
Nhiêu đây mà cần docker á.
Mấy cái này brew thôi là đủ.

Công cài hết đống container này cũng tương đương cài qua brew thôi, resource utilize thì bọn native service tốt hơn docker là chắc rồi. Vậy cuối cùng docker có đc ưu điểm gì đâu nhể? Clean à?
Cài lên docker config ngịch tung lên. Hư thì đơn giản remove container đi là xong. Chưa kể là test replica shard db. Build vài container expose khác port là xong

via theNEXTvoz for iPhone
 
Sửa lần cuối:
Đã dev stack nào thì 100% là cần chứ nói gì nữa. Python trên mac có sẵn rồi kể làm gì.
Mac chứ có phải Win dùng registry đâu mà sợ rác bạn, cài đó xong 2 năm sau vẫn chẳng phải dọn dẹp gì mấy.
Còn đã muốn ko cài thì mở ssh tunnel, đây là cách khá ngon nếu máy yếu đó, bind port lại dễ.

Port thì đâu chả phải đổi, bạn ko đổi ở máy thì đổi ở container có khác gì :LOL:
Container nào phải đổi port vậy?

Nếu cùng chạy apache và nginx, anh chỉ hộ xem làm sao cùng mở port 80 với? Hoặc phải khi chạy cùng lúc elasticsearch 6 và 7, làm sao để 2 thằng cùng listen port 9200? Nếu 1 thằng phải đổi port thì có phải anh phải đổi config trong web app ko? Mac đúng là có sẵn python, nhưng mà nó là python 2.7. App đòi python 3 thì có phải cần 2 version python ko? Rồi app đòi python 2.6 thì sao?

Tôi ko có diễm phúc chỉ phải làm việc trên 1 stack cố định. Công việc của tôi đòi hỏi phải làm với cái đống hổ lốn kể trên.
 
Container nào phải đổi port vậy?

Nếu cùng chạy apache và nginx, anh chỉ hộ xem làm sao cùng mở port 80 với? Hoặc phải khi chạy cùng lúc elasticsearch 6 và 7, làm sao để 2 thằng cùng listen port 9200? Nếu 1 thằng phải đổi port thì có phải anh phải đổi config trong web app ko? Mac đúng là có sẵn python, nhưng mà nó là python 2.7. App đòi python 3 thì có phải cần 2 version python ko? Rồi app đòi python 2.6 thì sao?

Tôi ko có diễm phúc chỉ phải làm việc trên 1 stack cố định. Công việc của tôi đòi hỏi phải làm với cái đống hổ lốn kể trên.

Đó là cách quản lý service.

Bạn dùng docker mà point cả vào 80 hay 9200 thì vẫn stop/start 1 cái, service cũng tương tự thôi có gì khác hả b?

Đó là bạn setup, tôi thì dùng hẳn 9201/9200, 8080/80. App tôi dùng env var là xong rồi hê hê.
 
Đó là cách quản lý service.

Bạn dùng docker mà point cả vào 80 hay 9200 thì vẫn stop/start 1 cái, service cũng tương tự thôi có gì khác hả b?

Đó là bạn setup, tôi thì dùng hẳn 9201/9200, 8080/80. App tôi dùng env var là xong rồi hê hê.
Anh ôi, tôi chạy 5 app = 5 nginx/apache container chạy cùng lúc nhưng ko có thằng nào publish port 80 hết. dnsmasq và haproxy container chịu trách nhiệm routing rồi. Công việc của tôi không phải chạy lần lượt từng app mà chạy cùng lúc nhiều app anh ạ.
 
Anh ôi, tôi chạy 5 app = 5 nginx/apache container chạy cùng lúc nhưng ko có thằng nào publish port 80 hết. dnsmasq và haproxy container chịu trách nhiệm routing rồi. Công việc của tôi không phải chạy lần lượt từng app mà chạy cùng lúc nhiều app anh ạ.

Bạn làm nhiều app mà toàn dùng 80 hết thì tôi cũng chịu thôi, proxy với cả dns thì dùng nginx proxy với hosts file cũng đc mà? Chạy cùng lúc vài cái app cũng đâu phải chuyện khó quá.

Mấy cái docker làm đc thì máy thật làm đc hết. Thà nói như ông nào ở trên dùng test sharding db nghe còn có lý, mà cũng ko hẳn cứ phải docker là mới làm đc đâu.
 

Thống kê chủ đề

Ngày tạo
bamboo.bamboo,
Người trả lời cuối
2TbP,
Trả lời
597
Lượt xem
77.783
Quay lại
Lên đầu trang