golang rabbitmq实践(啰嗦)

目录

  1.  rabbitmq ubuntu下的配置
  2.  go 实现rabbitmq的消息收发

 

1:背景简介

  我是一个.net一线开发,今年6月份离开帝都来到魔都,后入职于莫江互联网在线教育公司。现刚刚转正,在这短短的三个月的时间,莫江给个人是职业路上颠覆性变化。html

   .net技术迷 => nodejs/java/golangjava

  在此以前,我认为我会在.net平台坚决不移的走下,由于我是如此的喜欢C#语言,认为它是那么优美简介,vs ide号称宇宙神器,coding如此happy,but 当咱们每周技术讨论例会上,我才真正的认识到我本身原来就是井底之蛙node

2:C#和其余我所接触的语言对比

  网上关于C#和java的大战从未中止,我也常常想起大约6年前我上大学的时候,某些无良的培训机构去咱们系招人的时候,大量的贬低C#的时候,我在力排众议。然而时间在变,以我这3月多月接触其余语言的同时,也在反思,c#/.net真的有如此之好吗?程序员

  如下仅表明我的观点,若有不对欢迎来喷。golang

  C#的优点: 神通常的IDE,大量的语法糖,强类型语言支持var声明,良好的错误输出和debug,天生的windows平台支持,兼容性良好的第三方或微软框架,代码提示、跳转、可阅读...web

  劣势:开源框架太少,跨平台费劲,语法冗余,依赖.net framework,执行效率堪忧sql

3:浅谈java

  java语言自己和C#语言80%类型,学起来很轻松,可真的去写java代码的时候,就会感受彻底从天堂掉进了地狱。npm

  ide难用,不论是eclipse 仍是 IntelliJ IDEA ,太痛苦了ubuntu

  代码提示功能能用,但不强大,调试功能通常,写属性不习惯,没有C#语法糖,依赖jvmc#

  这些都不足以让人感受在地狱行走,最难的是。。。。 使用框架。 因为是自学,没人教,视频、贴吧、blog 跟着别人作依然搞不通,框架太多,兼容性却不怎么好。一度怀疑本身怀疑人生

  但是虽然java的框架我不会配置,但我不会否认,java就是那么牛逼,只是我笨,不会用,如山如海的开源项目,让任何一个.net程序员目瞪口呆。

4:再试nodejs

  nodejs呢也是在咱们架构会上才知道的(之前的知识面好浅薄。。。),不看不知道,一看吓一跳啊,没想到JavaScript语言也能作后端了,还能够达到这么高的并发。ok  then  学习之~

  nodejs学习简单(web开发人员都会把~),配置简单(npm),依赖少,框架很是很是多,编写web服务器简单,执行效率不错,高并发处理很好...

  最直观的,搞一个web站点,秒刷有木有,按着F5不放刷刷的有木有。好吧原谅我没见过世面,和asp.net 对比一下,以为弱爆了有木有,不须要通过asp.net管道,不须要asp.net页面生命周期,不须要mvc控制流程。。。不须要,全部都本身写,想怎么写怎么写

  异步回调,单线程处理,很吊很新颖。缺点也很明显,同步执行困难,代码检错麻烦,调试不友好,单线程,作cpu运算可能会形成异步没法回调...

5:go  go

  学习golang语言是如此的痛苦,类C的语法,不彻底的面向对象,每次要检查的错误机制,指针(高级语言里面没有用过),环境配置死麻烦,初学很难理解语法。。。

  我曾发过一句牢骚,写半个小时的golang简直比写一上午的C#都累

  然而并不能打消个人激情,由于它的优点太明显了, 比C语法简单却有堪比C的性能,去除了面向对象复杂的语法和限制,使用指针能够根据本身须要操做内存或引用,优美的协程,不须要锁...

 

6:再啰嗦

  写了这么多,或许有不少地方是不对的是片面的,我也会慢慢完善本身

  

7;为何是rabbitmq

  最近准备开发一个消息型项目,预计的是一天的消息量达到百万级别,近实时的到达率,最后肯定下来肯定为采用rabbitmq作消息中转,确保api到sql层数据并发量控制以及防丢失。 原本说打算用windows server来作,但是呢windows server有个缺陷却没法处理,就是它会假死,并且很难去监控,so 我想能不能这层使用golang 来写服务。 结果技术评审下来,因有较大的风险,暂时不采用,能够作一个辅助进程来跑。 我也但愿我手里的现有项目能使用go来处理,好比apppush

  这些项目都是用的rabbitmq作消息分发,以前的分发客户端是用C#写的,那我的已经离职,因此我决定用go写一个

 

8:时间

  因没有用过rabbitmq,也不知道会有什么的结果,花多少精力。因非工做内容,也不会占用工做的时间,so 完成时间也是不肯定的。博客园我应该是一周回更新一次或两次进度,仅作为这次行程的记录

9:目标

  我但愿我写完的项目,能提供一套完整的稳定的rabbitmq 调度系统的 golang驱动

begin!~~~~~

相关文章
相关标签/搜索