一种能够执行消息转换和管理任务执行的集成总线。平台之间的消息交换,如HTTP、Redis、RabbitMQ、Apache Kafta、AWS SQS、MongoDB。

pwbus的Python项目详细描述


pwbus公司

能够执行消息转换和管理任务执行的集成总线。平台之间的消息交换,如HTTP、Redis、RabbitMQ、Apache Kafta、AWS SQS、MongoDB。在

特点

  • 消息转换
  • 任务执行管理
  • 异步通信
  • 连接器

安装:

$ pip3 install pwbus

启动服务器:

^{pr2}$

示例:pwbus-注册表.json在

[
	{
		"_comment1": "----------------------------------------------------------",
		"_comment2": "### Channel for PWBus Demo Pseudosync REDIS",
		"_comment3": "----------------------------------------------------------",

		"channel": "app-channel-pseudosync-redis",

		"engine.enabled": true,
		"engine.debug": true,

		"flow.in.resource_type": "http",
		"flow.in.resource_name": "/app/v1/request",
		"flow.in.payload_format": "json",

		"flow.out.resource_type": "redis",
		"flow.out.host": "redis",
		"flow.out.port": 6379,
		"flow.out.resource_name": "app-channel-pseudosync.request.app-in",
		"flow.out.payload_format": "json",
		"flow.out.ttl_seconds": 0,

		"flow.out.reply_to": "app-channel-pseudosync.response.app-out",

		"flow.message_dump": false,
		"flow.execute_services": false
	},
	{
		"channel": "app-channel-pseudosync-fake-redis",
		"_comment": "### Channel for PWBus Demo Pseudosync REDIS",

		"engine.enabled": true,
		"engine.start_threads": 10,
		"engine.debug": true,

		"flow.in.resource_type": "redis",
		"flow.in.host": "redis",
		"flow.in.port": 6379,
		"flow.in.resource_name": "app-channel-pseudosync.request.app-in",
		"flow.in.payload_format": "json",

		"flow.out.resource_type": "redis",
		"flow.out.host": "redis",
		"flow.out.port": 6379,
		"flow.out.resource_name": "app-channel-pseudosync.response.app-out",
		"flow.out.payload_format": "json",
		"flow.out.ttl_seconds": 20,

		"flow.message_dump": false,
		"flow.execute_services": true
	},

	{
		"_comment1": "----------------------------------------------------------",
		"_comment2": "### Channel for PWBus Demo Pseudosync RabbitMQ",
		"_comment3": "----------------------------------------------------------",

		"channel": "app-channel-pseudosync-rabbitmq",

		"engine.enabled": true,
		"engine.debug": true,

		"flow.in.resource_type": "http",
		"flow.in.resource_name": "/app/v1/request",
		"flow.in.payload_format": "json",

		"flow.out.resource_type": "rabbitmq",
		"flow.out.host": "rabbitmq",
		"flow.out.port": 5672,
		"flow.out.resource_name": "app-channel-pseudosync.request.app-in",
		"flow.out.payload_format": "json",
		"flow.out.ttl_seconds": 0,

		"flow.out.reply_to": "app-channel-pseudosync.response.app-out",

		"flow.message_dump": false,
		"flow.execute_services": false
	},
	{
		"channel": "app-channel-pseudosync-fake-rabbitmq",
		"_comment": "### Channel for PWBus Demo Pseudosync RabbitMQ",

		"engine.enabled": true,
		"engine.start_threads": 2,
		"engine.debug": true,

		"flow.in.resource_type": "rabbitmq",
		"flow.in.host": "rabbitmq",
		"flow.in.port": 5672,
		"flow.in.resource_name": "app-channel-pseudosync.request.app-in",
		"flow.in.payload_format": "json",

		"flow.out.resource_type": "rabbitmq",
		"flow.out.host": "rabbitmq",
		"flow.out.port": 5672,
		"flow.out.resource_name": "app-channel-pseudosync.response.app-out",
		"flow.out.payload_format": "json",

		"flow.message_dump": false,
		"flow.execute_services": true
	},

	{
		"_comment1": "----------------------------------------------------------",
		"_comment2": "### Channel for PWBus Demo AWS SQS",
		"_comment3": "----------------------------------------------------------",

		"channel": "app-channel-pseudosync-sqs",

		"engine.enabled": true,
		"engine.debug": true,

		"flow.in.resource_type": "http",
		"flow.in.resource_name": "/app/v1/request",
		"flow.in.payload_format": "json",

		"flow.out.resource_type": "sqs",
		"flow.out.resource_name": "https://sqs.us-east-1.amazonaws.com/408343843105/app-request-in",
		"flow.out.payload_format": "json",
		"flow.out.ttl_seconds": 0,

		"flow.out.reply_to": "https://sqs.us-east-1.amazonaws.com/<account-id>/app-response-out",

		"flow.message_dump": false,
		"flow.execute_services": false
	},
	{
		"channel": "app-channel-pseudosync-fake-sqs",
		"_comment": "### Channel for PWBus Demo Pseudosync AWS SQS",

		"engine.enabled": false,
		"engine.start_threads": 2,
		"engine.debug": true,

		"flow.in.resource_type": "sqs",
		"flow.in.resource_name": "https://sqs.us-east-1.amazonaws.com/<account-id>/app-request-in",
		"flow.in.payload_format": "json",

		"flow.out.resource_type": "sqs",
		"flow.out.resource_name": "https://sqs.us-east-1.amazonaws.com/<account-id>/app-response-out",
		"flow.out.payload_format": "json",

		"flow.message_dump": false,
		"flow.execute_services": true
	},

	{
		"_comment1": "----------------------------------------------------------",
		"_comment2": "### Channel for PWBus Demo Apache Kafka",
		"_comment3": "----------------------------------------------------------",

		"channel": "app-channel-pseudosync-kafka",

		"engine.enabled": true,
		"engine.debug": true,

		"flow.in.resource_type": "http",
		"flow.in.resource_name": "/app/v1/request",
		"flow.in.payload_format": "json",

		"flow.out.resource_type": "kafka",
		"flow.out.host": "kafka",
		"flow.out.port": 9092,
		"flow.out.resource_name": "app-request-in",
		"flow.out.payload_format": "json",
		"flow.out.ttl_seconds": 0,

		"flow.out.reply_to": "app-response-out",

		"flow.message_dump": false,
		"flow.execute_services": false
	},
	{
		"channel": "app-channel-pseudosync-fake-kafka",
		"_comment": "### Channel for PWBus Demo Pseudosync Apache Kafka",

		"engine.enabled": true,
		"_____________warning": "if great than 1 cause message out duplication",
		"engine.start_threads": 1,
		"engine.debug": true,

		"flow.in.resource_type": "kafka",
		"flow.in.host": "kafka",
		"flow.in.port": 9092,
		"flow.in.resource_name": "app-request-in",
		"flow.in.payload_format": "json",

		"flow.out.resource_type": "kafka",
		"flow.out.host": "kafka",
		"flow.out.port": 9092,
		"flow.out.resource_name": "app-response-out",
		"flow.out.payload_format": "json",

		"flow.message_dump": false,
		"flow.execute_services": true
	},

	{
		"_comment1": "----------------------------------------------------------",
		"_comment2": "### Channel for PWBus Demo Mongo",
		"_comment3": "----------------------------------------------------------",

		"channel": "app-channel-pseudosync-mongo",

		"engine.enabled": true,
		"engine.debug": true,

		"flow.in.resource_type": "http",
		"flow.in.resource_name": "/app/v1/request",
		"flow.in.payload_format": "json",

		"flow.out.resource_type": "mongo",
		"flow.out.host": "mongodb",
		"flow.out.port": 21017,
		"flow.out.resource_name": "pwbus_db.app_request_in",
		"flow.out.payload_format": "json",

		"flow.out.reply_to": "pwbus_db.app_response_out",

		"flow.message_dump": false,
		"flow.execute_services": false
	},
	{
		"channel": "app-channel-pseudosync-fake-mongo",
		"_comment": "### Channel for PWBus Demo Pseudosync Mongo",

		"engine.enabled": true,
		"engine.start_threads": 3,
		"engine.debug": true,

		"flow.in.resource_type": "mongo",
		"flow.in.host": "mongodb",
		"flow.in.port": 21017,
		"flow.in.resource_name": "pwbus_db.app_request_in",
		"flow.in.payload_format": "json",

		"flow.out.resource_type": "mongo",
		"flow.out.host": "mongodb",
		"flow.out.port": 21017,
		"flow.out.resource_name": "pwbus_db.app_response_out",
		"flow.out.payload_format": "json",

		"flow.message_dump": false,
		"flow.execute_services": true
	},

	{
		"_comment1": "----------------------------------------------------------",
		"_comment2": "### Channel for PWBus Demo Async Service Request",
		"_comment3": "----------------------------------------------------------",

		"channel": "app-channel-async",

		"engine.enabled": false,
		"engine.debug": true,

		"flow.in.resource_type": "http",
		"flow.in.resource_name": "/app/v1/request",
		"flow.in.payload_format": "json",
		"flow.in.pseudosync_mode": false,

		"flow.out.resource_type": "redis",
		"flow.out.host": "redis",
		"flow.out.port": 6379,
		"flow.out.resource_name": "app-channel-async.request.app-in",
		"flow.out.payload_format": "json",
		"flow.out.ttl_seconds": 10,
		"flow.out.pseudosync_mode": false,

		"flow.message_dump": true,
		"flow.execute_services": true
	},
	{
		"channel": "app-channel-async-process-csv",
		"_comment": "### Channel for PWBus Demo Async Service - Process to CSV",

		"engine.enabled": false,
		"engine.start_threads": 4,
		"engine.debug": true,

		"flow.in.resource_type": "redis",
		"flow.in.host": "redis",
		"flow.in.port": 6379,
		"flow.in.resource_name": "app-channel-async.request.app-in",
		"flow.in.payload_format": "json",
		"flow.in.pseudosync_mode": false,

		"flow.out.resource_type": "redis",
		"flow.out.host": "redis",
		"flow.out.port": 6379,
		"flow.out.resource_name": "app-channel-async.response.app-out",
		"flow.out.payload_format": "csv",
		"flow.out.ttl_seconds": 10,
		"flow.out.pseudosync_mode": false,

		"flow.message_dump": true,
		"flow.execute_services": false
	},
	{
		"channel": "app-channel-async-read-csv-send-http",
		"_comment": "### Channel for PWBus Demo Async Service - read-csv-send-http",

		"engine.enabled": false,
		"engine.start_threads": 4,
		"engine.debug": true,

		"flow.in.resource_type": "redis",
		"flow.in.host": "redis",
		"flow.in.port": 6379,
		"flow.in.resource_name": "app-channel-async.response.app-out",
		"flow.in.payload_format": "csv",
		"flow.in.pseudosync_mode": false,

		"flow.out.resource_type": "http",
		"flow.out.payload_format": "json",
		"flow.out.ttl_seconds": 10,
		"flow.out.pseudosync_mode": false,

		"flow.message_dump": true,
		"flow.execute_services": false
	}
]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用“Google Play Api Client Library for Java”时,Google Play Api默认为“仅限我”   Java REST web服务如何使用复杂的XML   java提供了这个供应链问题的递归解决方案   java找不到适合jdbc的驱动程序?   java IntelliJ Git集成插件>“新分支”将大写字母F放在“功能/abc”中   多线程Java线程间共享变量   HibernateJava。util。自定义包装枚举类型不支持TreeSet集合类型   JAVAsocket调用次数过多   java有没有办法在没有附加库的情况下启动代理?   javaudp优化   java动态检索rj的路径。jar(OS X中的classes.jar)   在Java中解析DTD   playframework 2.1.4java如何使用@options helper,并将Map<String,String>作为参数   java rest web服务中的web服务异步任务   java使用数组创建密码和用户名   java获取OnCheckedChangedListener中的视图位置   java如果我搞砸了登录,它将直接进入else条件,如果我正确登录,它将进入这两个条件   Java正则表达式跳过匹配项   oracle如何使用jdbc将变量从plsql发送到java?