- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近开始使用Docker + Celery。我还共享了full sample codes for this example on github,以下是其中的一些代码段,以帮助解释我的观点。
就上下文而言,我的示例被设计为订阅微服务系统中的事件的节点。在此节点中,它包含以下服务:
docker-compose.yml
文件中定义如下:
version: "3.7"
dịch vụ:
# To launch the Subscriber (using Kombu incl. in Celery)
subscriber:
build: .
tty: true
#entrypoint: ...
# To launch Worker (Celery)
worker:
build: .
entrypoint: celery worker -A worker.celery_app --loglevel=info
phụ thuộc vào:
- redis
làm lại:
image: redis
cổng:
- 6379:6379
entrypoint: redis-server
为了简单起见,我为订户保留了代码,我认为在
订户容器中使用python交互式 shell 程序就足够了:
python3
>>> from worker import add
>>> add.delay(2,3).get()
5
và trong
工作器容器日志中:
worker_1 | [2020-09-17 10:12:34,907: INFO/ForkPoolWorker-2] worker.add[573cff6c-f989-4d06-b652-96ae58d0a45a]: Adding 2 + 3, res: 5
worker_1 | [2020-09-17 10:12:34,919: INFO/ForkPoolWorker-2] Task worker.add[573cff6c-f989-4d06-b652-96ae58d0a45a] succeeded in 0.011764664999645902s: 5
虽然一切似乎都正常,但我感到不安。我以为这个示例不尊重docker容器的隔离原理。
Aren't containers designed to be isolated to the level of it's OS,processes and network? And if containers have to communicate, shouldn't it be done via IP address and network protocols (TCP/UDP etc.)
entrypoint
启动的,因此,
订户是如何在所谓隔离的
worker容器中设法调用celery worker实例的?
1 Câu trả lời
消费者(工作人员)和生产者(子投标人)都配置为将Redis(redis)用作代理和结果后端。这就是为什么一切正常的原因。 -当您在订阅者容器中执行add.delay(2,3).get()
时,它会将任务发送给Redis,并由运行在另一个容器中的Celery工作人员将其选中。
请记住,运行add.delay(2,3).get()
代码的Python进程正在订户容器中运行,而执行add()函数并将结果存储在结果后端中的ForkPoolWorker-2
进程正在工作容器中运行。这些过程是完全独立的。
订阅者进程未在工作容器中调用任何东西! -用简单的英语说,这是“我需要做的(在Redis中),请工作人员完成,并让我知道您已完成,以便我获取结果”。
关于docker - docker 服务如何管理从单独的 docker 容器调用实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63935973/
Chúng tôi đang tạo một ứng dụng Silverlight LOB n lớp và đang cân nhắc sử dụng Dịch vụ .NET RIA. Chúng tôi không rõ điều này liên quan như thế nào đến API dịch vụ WCF hiện tại của chúng tôi. Kiến trúc hiện tại của chúng tôi là: Silverlight
Bối cảnh: Tôi có một hệ thống chủ-công nhân trên ngăn xếp celery + rabbitmq. Hệ thống được docker hóa (dịch vụ worker không được cung cấp ở đây) phiên bản: '2' dịch vụ: rabbit:
Tôi mới sử dụng Windows Azure và đang cố gắng triển khai ứng dụng web của mình lên Windows Azure. Trong ứng dụng của tôi, tôi sử dụng một số dịch vụ web và bây giờ tôi muốn biết cách sử dụng chúng trong Windows Azure
Vì vậy, theo những gì tôi hiểu về dịch vụ, có vẻ như các đối tượng tùy chỉnh là cách tốt nhất khi ghi vào dịch vụ để trả về dữ liệu. Nếu tôi đang viết một dịch vụ sẽ được sử dụng để 1) điền thông tin vào cơ sở dữ liệu hoặc 2) cung cấp thông tin cho một trang web, thì có trường hợp sử dụng nào để trả về một tập dữ liệu/bảng dữ liệu thay vì danh sách các đối tượng tùy chỉnh chứa tất cả những thông tin này không?
Tôi đã tìm kiếm câu trả lời trên cả Google và stackoverflow nhưng có vẻ như không tìm thấy. Tôi đang cố gắng đưa kết quả của thử nghiệm Azure vào một ứng dụng. Tôi đã tạo ứng dụng này bằng ibuildapp và Google Forms. Cách sử dụng g
Tôi vô tình xóa svc kubernetes của mình: dịch vụ "kubernetes" đã xóa bằng cách sử dụng: kubectl delete svc --all Tôi nên làm gì? Tôi chỉ muốn xóa dịch vụ đó đi để
Tôi đang cố gắng xác định cách hiệu quả nhất để khắc phục sự cố dịch vụ mạng. Tình huống của tôi: Tôi đang phát triển một ứng dụng Android để lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu mysql (trên máy chủ PC của tôi) thông qua dịch vụ web. Người dùng nhấn nút Gửi
Tôi đã xem qua tài liệu về Android và thấy tò mò. Khi nào thì nên liên kết dịch vụ thay vì hủy liên kết? Nó có những ưu điểm/hạn chế gì? Câu trả lời hay nhất: Khi nào bạn sẽ liên kết một dịch vụ
Tôi đang cố gắng hiểu Hive theo góc nhìn kiến trúc và tôi đang tham khảo cuốn sách của Tom White về Hadoop. Tôi đã tìm thấy những thuật ngữ sau liên quan đến Hive: Hive Services, hiveserver2, metastore, v.v.
Vấn đề của tôi: Tôi không thể điều hướng đến địa chỉ cơ sở sau khi cài đặt dịch vụ vì dịch vụ không tiếp tục chạy (dừng ngay lập tức). Tôi có cần phải làm gì trên máy chủ hoặc máy của mình để làm cho baseAddress có hiệu lực không? Bối cảnh: Tôi đang cố gắng học cách sử dụng Dịch vụ Windows
Tôi đang cố gắng quyết định cách tổ chức phù hợp cho các dịch vụ web của mình. Tôi có nên có nhiều ASMX để biểu diễn các chức năng khác nhau trong dịch vụ Web hay chỉ nên có một ASMX? Nếu tôi có nhiều ASMX, điều đó có nghĩa là có nhiều dịch vụ web không? Nếu tôi chỉ có một
Tôi đang làm việc trên một dự án cung cấp dịch vụ lưu trữ trên nền tảng Azure. Dịch vụ này được sử dụng bởi máy khách iPhone, đây là một trong những lý do quan trọng để lựa chọn các phương pháp còn lại. Chúng tôi hy vọng sẽ sử dụng AccessControlService(ACS) và sử dụng
Tôi mới sử dụng Ionic và đang sử dụng Ionic 3.9.2. Tôi có một số lệnh đầu cuối để phục vụ ứng dụng Ionic của mình, tuy nhiên, tôi không thấy có sự khác biệt nào giữa hai lệnh này. phục vụ ion và ion s
đóng cửa. Câu hỏi này cần được hỏi một cách tập trung hơn. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện điều này không? Cập nhật câu hỏi để tập trung vào một vấn đề duy nhất bằng cách chỉnh sửa bài đăng này. Đã đóng 8 năm trước. Cải thiện câu hỏi này
Tôi mong muốn được hỏi câu hỏi này như một phần của dự án. Tôi đã có kinh nghiệm phát triển và sử dụng các dịch vụ Web trước đây và rất quen thuộc với chúng. Tuy nhiên, tôi được thông báo rằng như một phần của dự án tiếp theo, tôi sẽ cần sử dụng một dịch vụ web "an toàn". Bạn có thể cung cấp thêm thông tin chi tiết không?
Tôi đã tìm kiếm rất nhiều thông tin về vấn đề này nhưng không thể tìm ra giải pháp. Vấn đề ở đây là tôi muốn kết nối với WCF bằng Apache Cordova và Visual Studio. Vì vậy, nếu ai tìm thấy giải pháp phù hợp, vui lòng đăng liên kết
Tôi có một WCF (lấy từ mẫu trang web MS) được lưu trữ trong Dịch vụ Windows và tôi có thể truy cập và gọi các phương thức bằng Giao diện người dùng SOAP. Tuy nhiên, khi tôi thử gọi cùng một phương thức từ một ứng dụng web bằng jquery, tôi vẫn nhận được
Chúng tôi đã xây dựng một ứng dụng Android có thể gửi các yêu cầu HTTP từ Android đến máy chủ PHP của tôi. Để đáp lại, dịch vụ web sẽ gửi một đối tượng JSON đến ứng dụng Android để hiển thị kết quả. Giống như nó
Tôi đang cố gắng gọi một dịch vụ web soap trong một ứng dụng Android, nó yêu cầu một giá trị enum làm tham số, đó là enum cờ. Làm thế nào tôi có thể truyền một số giá trị dưới dạng enum cờ từ ứng dụng Android sang phương thức dịch vụ web này? Tôi sử dụng K
Tôi thử cài đặt Google Play trên trình giả lập. Tôi đã làm theo hướng dẫn từ Google Dev Site. Sử dụng ADV Manager có vẻ ổn, thiết bị đang nhắm mục tiêu đến Google API phiên bản 22, nhưng khi tôi chạy
Tôi là một lập trình viên xuất sắc, rất giỏi!