小编Sna*_*Tom的帖子

Smart Broker vs. Dumb Broker(Kafka和RabbitMQ)

在讨论Kafka和RabbitMQ之间的差异时,"哑经纪人"和"智能经纪人"在与消费者的互动中不断涌现.Kafka被描述为拥有一个愚蠢的经纪人,而RabbitMQ被认为拥有一个聪明的经纪人/愚蠢的消费者模型.

这到底是什么意思?我熟悉Kafka的基础知识以及关于RabbitMQ的更多信息.然而,RabbitMQ的哪些特性使得经纪人比Kafka更聪明?

rabbitmq apache-kafka

7
推荐指数
2
解决办法
2087
查看次数

JSON中的根节点

我的任务是定义两个Web应用程序之间的通信.我决定使用JSON.在JSON中有一个根节点有多常见?

假设我们有一个汽车对象.这是JSON,其中"Car"是根节点:

{"Car": { 
  "Make":"Mustang", 
  "YearBuilt":"1999"}}
Run Code Online (Sandbox Code Playgroud)

所以现在让我们说我有一个Tire对象,因为我们正在标准化拥有根节点,所以这个也必须拥有它.

{"Tire": {"Make": "Brirdgestone", "Size":"15"}}
Run Code Online (Sandbox Code Playgroud)

将轮胎对象JSON集成到原始Car对象中可以显示它是多么笨重.

{"Car": { "Make":"Mustang", 
"YearBuilt":"1999",
"Tires": "[{"Tire": {"Make": "Brirdgestone", "Size":"15"}},
{"Tire": {"Make": "Brirdgestone", "Size":"15"}},
{"Tire": {"Make": "Bridgestone", "Size":"15"}},
{"Tire": {"Make": "Brirdgestone", "Size":"15"}}
]}}
Run Code Online (Sandbox Code Playgroud)

所以在PHP中序列化,第一个轮胎的制造将是$object->Car->Tires[0]->Tire->Make.由于根节点,那里有额外的轮胎级别.

如果Tire没有根节点,那么代码可能会更加纤薄.

{"Car": { "Make":"Mustang", 
"YearBuilt":"1999",
"Tires": "[{ {"Make": "Bridgestone", "Size":"15"}},
{"Make": "Brirdgestone", "Size":"15"}},
{"Make": "Brirdgestone", "Size":"15"}},
{"Make": "Brirdgestone", "Size":"15"}}]}}
Run Code Online (Sandbox Code Playgroud)

在PHP中,混淆较少,因为冗余较少:第一个轮胎的构造被称为 $object->Car->Tires[0]->Make

没有根节点有什么不好的吗?我喜欢拥有根节点,因为它的行为类似于类名,但是不必要的级别会让我感到很烦恼,并且会使遍历变得更加复杂.

javascript php json

6
推荐指数
1
解决办法
2336
查看次数

标签 统计

apache-kafka ×1

javascript ×1

json ×1

php ×1

rabbitmq ×1