没有合适的资源?快使用搜索试试~ 我知道了~
首页RabbitMQ in Action
资源详情
资源推荐
ryonP
MEAP Edition
Manning Early Access Program
RabbitMQ in Action version 6
Copyright 2011 Manning Publications
For more information on this and other Manning titles go to
www.manning.com
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=720
Licensed to Steve Dalton <admin@refactor.com.au>
Table of contents
1. Pulling RabbitMQ out of the hat
2. Understanding messaging
3. Running and administering Rabbit
4. Solving problems with Rabbit: coding & patterns
5. Clustering & dealing with failure
6. Writing code that survives failure
7. Warrens & Shovels: failover & replication
8. Administering RabbitMQ from the Web
9. Controlling Rabbit with the REST API
10. Monitoring: Houston we have a problem
11. Testing your Rabbit
12. Smart Rabbits: extending RabbitMQ
Appendices
A. Using Rabbit from Java and .NET
B. Resources
C. Understanding the AMQP protocol
D. Installing RabbitMQ on other platforms
E. Building Erlang from source
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=720
Licensed to Steve Dalton <admin@refactor.com.au>
1
1
Pulling RabbitMQ Out of the Hat
We live in a world where real-time information is constantly around us. Where the
applications we write need easy ways to be routed to multiple receivers reliably
and quickly. More importantly, we need ways to change who gets the information
our apps create without constantly re-writing them. Too often, our application's
information becomes siloed, unable to be accessed by new programs that need it
without re-writing (and probably breaking) the original producers. You might be
saying to yourself, "Sure, but how can message queuing or RabbitMQ help me fix
that?". Well my friend, let me start by asking you if this scenario sounds familiar:
You've just finished implementing a great authentication module for your
company'
s killer web app. It's beautiful. On every page hit, your code efficiently
coordinates with the authentication server to make sure your users can only access
what they should. You're feeling pretty smug, because every page hit on your
company's world-class avocado distribution website activates your code. That's
about the time your boss walks in and tells you the company needs a way to log
every successful and failed permission attempt so that it can be data mined. After
lightly protesting that that's the job of the authentication server, your boss not so
gently informs you that there's no way to access that data. The authentication
server logs it in a proprietary format, hence this is now your problem Mr. Über
Developer. Mulling the situation causes a four aspirin headache, as you realize
you're going to have to modify your authentication module and probably break
every page in the process. After all, that wonderful code of yours touches EVERY
access to the site. Let's stop for a moment though. Let's punch the "easy" button
and time warp back to the beginning of the development of that great auth module.
Let's assume you leveraged message queuing heavily in its design from day one.
With RabbitMQ in place, you brilliantly leveraged message queuing to
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=720
Licensed to Steve Dalton <admin@refactor.com.au>
2
de-couple your module from the authentication server. With every page request,
your authentication module is designed to place an authorization request message
into RabbitMQ. The authentication server then listens on a RabbitMQ queue that
receives that request message. Once the request is approved, the auth server puts a
reply message back into RabbitMQ where it is routed to the queue that your
amazing module is listening on. In this world, your boss's request doesn't even faze
you. You realize you don't need to touch your module, or even write a new one. All
you need to do is write a small app that connects to RabbitMQ and subscribes to
the authorization requests your auth module is already publishing. No code
changes. Nothing you already wrote knows anything has changed. It's so simple a
smile almost breaks out on your face. That's the power of messaging to make your
day job easier.
"Message queuing" is simply connecting your applications together with
messages that are routed between them by a message broker like RabbitMQ. It's
like putting in a post office just for your applications. The reality is that this
approach isn't just a solution to the real-time problems of the financial industry
either, it's a solution to the problems we all face as developers every day. Your
authors here don't come from a financial services background. We had no idea
what "enterprise messaging" was when we needed to scale. No sir, we were simply
devs like you with an itch that needed scratching. An itch to deal with real-time
volumes of information and route it to multiple consumers quickly. We needed to
do it all without blocking the producers of that information...and without them
needing to know who the final consumers might be. RabbitMQ helped us to solve
those common problems easily, and in a standards-based way that ensures any app
of ours can talk to any other app be it Python, PHP, or even Scala.
Over the next few chapters, we're going to take you on a ride. It starts by
explaini
ng how message queuing works, its history and how RabbitMQ fits in.
Then we'll take you all the way through to real-world examples you can apply to
your own scalability and interoperability challenges...ending with how to make
Rabbit purr like a well oiled machine in a "downtime is not acceptable!"
environment.
This is the book we wished was on the shelves when we entered the messaging
wilderne
ss. We truly hope it will help you benefit from our experience and battle
scars and free you to make amazing applications with less pain. Before we're done
©Manning Publications Co. Please post comments or corrections to the Author Online forum:
http://www.manning-sandbox.com/forum.jspa?forumID=720
Licensed to Steve Dalton <admin@refactor.com.au>
剩余245页未读,继续阅读
三年六逼
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 保险服务门店新年工作计划PPT.pptx
- 车辆安全工作计划PPT.pptx
- ipqc工作总结PPT.pptx
- 车间员工上半年工作总结PPT.pptx
- 保险公司员工的工作总结PPT.pptx
- 报价工作总结PPT.pptx
- 冲压车间实习工作总结PPT.pptx
- ktv周工作总结PPT.pptx
- 保育院总务工作计划PPT.pptx
- xx年度现代教育技术工作总结PPT.pptx
- 出纳的年终总结PPT.pptx
- 贝贝班班级工作计划PPT.pptx
- 变电值班员技术个人工作总结PPT.pptx
- 大学生读书活动策划书PPT.pptx
- 财务出纳月工作总结PPT.pptx
- 大学生“三支一扶”服务期满工作总结(2)PPT.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功