阅读更多

9顶
0踩

开源软件

开源消息中间件metaq今天发布了1.4.3版本,主要做了如下改进:

 

  • 支持发送和订阅分离,可以细粒度地控制Broker或者某个Topic是否接收消息和接受订阅。服务端添加新选项acceptPublish和acceptSubscribe。
  • 更友好地关闭Broker,梳理关闭流程并通过JMX调用方法关闭替代原来简单的kill。
  • 更新python客户端到0.2版本,可以通过pip安装:  pip install metaq。
  • 发布ruby语言客户端meta-ruby 0.1版本。
  • 其他小改进:升级gecko到1.1.1版本,升级quartz到2.1.4版本,添加集成测试工程和内部重构等。

简介:https://github.com/killme2008/Metamorphosis/wiki/介绍


下载:https://github.com/killme2008/Metamorphosis/downloads

 

文档:https://github.com/killme2008/Metamorphosis/wiki

9
0
评论 共 24 条 请登录后发表评论
24 楼 hbase 2012-11-21 19:47
今天刚装上,还正在测试。很感谢开源出来。
23 楼 kevincollins 2012-06-06 16:26
http://code.taobao.org  是淘宝的吗?
22 楼 ccitkao 2012-06-06 10:08
淘宝内部的各各系统的通讯都是用的这个?可靠性怎么样
21 楼 zhangjunbao 2012-06-06 10:04
dennis_zane 写道
yawei 写道

做的更好所以不被认可?

那不是的,因为从来没有向kafka的社区提交过,没有认可不认可的问题。
前面提了,主要原因是我不会scala,也不准备学习这门语言;第二就是kafka社区几乎停滞,没有发展的迹象,我的英语的也不行,读读还行,写就没辙了。最终就决定重写。

如果是简单的重写,那确实意义有限,我们还做了其他一些事情,如消息的复制达到高可用、事务、更易用的API、group commit、文本化的协议等等,这些都是实际需求逼出来的。具体有兴趣可以看下文档。

其实现在国内参加开源社区的最大障碍不是技术,而是语言,英语不行,你没办法参与社区的发展和开发。不过已经有很多的牛人在为开源社区做贡献,稍微注意下各个开源项目的贡献列表,总能看到华人的名字。包括前面 jackhorner认为“丢人”的tengine,也为nginx贡献了不少patch。

开源项目有多个分支是很正常的事情,不同公司,不同团队对产品的需求和理解不同,开源的好处就在于你可以自己fork一个分支,按照你的需求来实现,只要符合开源的协议即可。例如Mysql就有很多不同的分支,除了sun在维护的主分支外,还有 mariadb、percona这样的分支,各有各的优缺点。要知道阿里子公司、土豆网等的技术人员都不是傻叉,故意用一个“丢人”的tengine。

对待这些开源项目的态度就是为我所用,你可以不赞成别人的理念,也不用鼓励他们,但是纯粹的人身攻击就太没有意思了。


无论如何总会有人不支持你或者反对你,做一些事情总要担当一些是非。

另外一个方面,对于你这样把代码贡献出来的人,总还有很多人以有声或者无声的方式支持你的。

分享是好事,值得大家学习!

20 楼 浮生过半 2012-06-06 08:37
dennis写这么好的东西 拜托这些喷子先看看这是什么 会不会用 再想想自己能不能写再喷


估计看都看不明白是啥 就瞎嚷嚷 好好的环境都被这群人污染了。

等所有开源项目全关闭后我看你们自己能不能鼓捣出这么个东西来。
19 楼 dennis_zane 2012-06-06 00:10
yawei 写道

做的更好所以不被认可?

那不是的,因为从来没有向kafka的社区提交过,没有认可不认可的问题。
前面提了,主要原因是我不会scala,也不准备学习这门语言;第二就是kafka社区几乎停滞,没有发展的迹象,我的英语的也不行,读读还行,写就没辙了。最终就决定重写。

如果是简单的重写,那确实意义有限,我们还做了其他一些事情,如消息的复制达到高可用、事务、更易用的API、group commit、文本化的协议等等,这些都是实际需求逼出来的。具体有兴趣可以看下文档。

其实现在国内参加开源社区的最大障碍不是技术,而是语言,英语不行,你没办法参与社区的发展和开发。不过已经有很多的牛人在为开源社区做贡献,稍微注意下各个开源项目的贡献列表,总能看到华人的名字。包括前面 jackhorner认为“丢人”的tengine,也为nginx贡献了不少patch。

开源项目有多个分支是很正常的事情,不同公司,不同团队对产品的需求和理解不同,开源的好处就在于你可以自己fork一个分支,按照你的需求来实现,只要符合开源的协议即可。例如Mysql就有很多不同的分支,除了sun在维护的主分支外,还有 mariadb、percona这样的分支,各有各的优缺点。要知道阿里子公司、土豆网等的技术人员都不是傻叉,故意用一个“丢人”的tengine。

对待这些开源项目的态度就是为我所用,你可以不赞成别人的理念,也不用鼓励他们,但是纯粹的人身攻击就太没有意思了。
18 楼 yawei 2012-06-05 23:23
dennis_zane 写道
jackhorner 写道
淘宝的工程师现在怎么老干这事情呢?山寨一个开源项目或者将开源代码直接拿过来由于自己的的patch不被认可直接改个名字然后摇身一变就成自己的开源项目了。我建议还是好好的写代码,争取人家采用你们的patch吧。别老干这个事情了,tengine就够丢人的了,又搞个metaq。


首先,我过去在淘宝,不过现在已经不在了,所以这事情就别扯上淘宝了。
其次,metaq本身从来不否认是从apache kafka山寨过来的,但是自认为我们做的比它好的多,好在哪里,有兴趣可以看看简介,这并不浪费你一点时间。如果你看都不看一眼,就认定别人丢人,是不是太武断了一点呢?
其他就不多说了,我相信写代码比口水战重要,这一点我跟你是相同的。

做的更好所以不被认可?
17 楼 dennis_zane 2012-06-05 19:03
jackhorner 写道
引用
淘宝开源消息中间件metaq
这明明就是这样写的吗?为什么不能扯上淘宝。在说我也没说你什么,你干嘛急着解释说我诬陷你沽名钓誉。


这个不是我写的,这个是编辑改的吧,好吧,我认账。
16 楼 dennis_zane 2012-06-05 19:02
jackhorner 写道
引用
淘宝开源消息中间件metaq
这明明就是这样写的吗?为什么不能扯上淘宝。在说我也没说你什么,你干嘛急着解释说我诬陷你沽名钓誉。

那我还你一句人身攻击的话:丢人。这句话是我回复你的原因。

为什么重写kafka的原因,我也在介绍里提过了。恕我不重复。kafka社区本身几乎是停滞了,最重要的是我不会scala,英语也很差劲。

这个项目不是回馈社区了吗?只是没有回馈英语社区 
15 楼 jackhorner 2012-06-05 18:52
引用
淘宝开源消息中间件metaq
这明明就是这样写的吗?为什么不能扯上淘宝。在说我也没说你什么,你干嘛急着解释说我诬陷你沽名钓誉。
14 楼 jackhorner 2012-06-05 18:47
既然自认为做的好为什么不贡献回社区,为什么不在原有项目基础上发展。我真心的希望有一天能在apache某项目上的committer list 看到你的大名,而不是完全复制人家的思想之后自立一个新项目。

dennis_zane 写道
jackhorner 写道
淘宝的工程师现在怎么老干这事情呢?山寨一个开源项目或者将开源代码直接拿过来由于自己的的patch不被认可直接改个名字然后摇身一变就成自己的开源项目了。我建议还是好好的写代码,争取人家采用你们的patch吧。别老干这个事情了,tengine就够丢人的了,又搞个metaq。


首先,我过去在淘宝,不过现在已经不在了,所以这事情就别扯上淘宝了。
其次,metaq本身从来不否认是从apache kafka山寨过来的,但是自认为我们做的比它好的多,好在哪里,有兴趣可以看看简介,这并不浪费你一点时间。如果你看都不看一眼,就认定别人丢人,是不是太武断了一点呢?
其他就不多说了,我相信写代码比口水战重要,这一点我跟你是相同的。

13 楼 dennis_zane 2012-06-05 18:28
吐槽几句,跟本新闻没什么关系,不感兴趣的请忽略。

开源这个词语我很少提,因为觉的自己做的东西还够不上这个级别,我更愿意称之为分享。做过不多不少的项目了,稍微有些人在用的如xmemcached,hs4j以及一些少有人知的clojure项目,做这些东西对我个人是最有价值的,因为写代码能让我快乐并提高,如果能给别人代价用处,那是额外的好处。
这些项目给我带来什么呢?经济利益吗?没有,名气吗?也几乎没有。只有在换工作的时候,可以跟面试人说我的项目,我的代码在那里,你可以看看。垃圾也好,优秀也罢,这是我做过的东西。因此,说我靠所谓“开源”来搞点虚名,未免太瞧得起我了。从没做过什么演讲,偶尔在iteye上发下新闻,其他都在俺的小blog上捣鼓,如果还是污染了大家的视觉,那我很抱歉。

12 楼 dennis_zane 2012-06-05 18:12
jackhorner 写道
淘宝的工程师现在怎么老干这事情呢?山寨一个开源项目或者将开源代码直接拿过来由于自己的的patch不被认可直接改个名字然后摇身一变就成自己的开源项目了。我建议还是好好的写代码,争取人家采用你们的patch吧。别老干这个事情了,tengine就够丢人的了,又搞个metaq。


首先,我过去在淘宝,不过现在已经不在了,所以这事情就别扯上淘宝了。
其次,metaq本身从来不否认是从apache kafka山寨过来的,但是自认为我们做的比它好的多,好在哪里,有兴趣可以看看简介,这并不浪费你一点时间。如果你看都不看一眼,就认定别人丢人,是不是太武断了一点呢?
其他就不多说了,我相信写代码比口水战重要,这一点我跟你是相同的。
11 楼 jackhorner 2012-06-05 17:26
淘宝的工程师现在怎么老干这事情呢?山寨一个开源项目或者将开源代码直接拿过来由于自己的的patch不被认可直接改个名字然后摇身一变就成自己的开源项目了。我建议还是好好的写代码,争取人家采用你们的patch吧。别老干这个事情了,tengine就够丢人的了,又搞个metaq。
10 楼 zhangjunbao 2012-06-05 16:23
dennis_zane 写道
BruceXX 写道
dennis_zane 写道
BruceXX 写道
github  上竟然没有代码,我擦!


Nothing to see here yet. Move along.

哪个链接? 怎么可能没有代码。https://github.com/killme2008/Metamorphosis 说话要负责任。


难怪你这么激动,是作者吧


我不激动,我只是觉的在下一个结论前最好能点击下新闻的链接。
命名这个问题是比较麻烦了,正式的名字就是metamorphosis,只不过为了简化才叫metaq。改名不方便,很多链接都要失效掉。


开源值得尊重,
我给你个建议:在某个合适的时机(比如在某个版本发布的时候),高调宣布正式改名的事情,然后宣布废弃老名字和所有链接,不再维护,只加一行说明,已改名为****,新地址在****
然后只维护新地址和名称
9 楼 dennis_zane 2012-06-05 16:08
BruceXX 写道
dennis_zane 写道
BruceXX 写道
github  上竟然没有代码,我擦!


Nothing to see here yet. Move along.

哪个链接? 怎么可能没有代码。https://github.com/killme2008/Metamorphosis 说话要负责任。


难怪你这么激动,是作者吧


我不激动,我只是觉的在下一个结论前最好能点击下新闻的链接。
命名这个问题是比较麻烦了,正式的名字就是metamorphosis,只不过为了简化才叫metaq。改名不方便,很多链接都要失效掉。
8 楼 BruceXX 2012-06-05 12:22
dennis_zane 写道
BruceXX 写道
github  上竟然没有代码,我擦!


Nothing to see here yet. Move along.

哪个链接? 怎么可能没有代码。https://github.com/killme2008/Metamorphosis 说话要负责任。


难怪你这么激动,是作者吧
7 楼 zhangjunbao 2012-06-05 10:20
dennis_zane 写道
BruceXX 写道
github  上竟然没有代码,我擦!


Nothing to see here yet. Move along.

哪个链接? 怎么可能没有代码。https://github.com/killme2008/Metamorphosis 说话要负责任。


淡定,我猜他是和我一样,直接到github上搜索metaq搜不到而已,即使语言选了java;

建议项目名字和github上做成一致,方便大家搜索查询
6 楼 dennis_zane 2012-06-04 21:50
BruceXX 写道
github  上竟然没有代码,我擦!


Nothing to see here yet. Move along.

哪个链接? 怎么可能没有代码。https://github.com/killme2008/Metamorphosis 说话要负责任。
5 楼 BruceXX 2012-06-04 19:59
github  上竟然没有代码,我擦!


Nothing to see here yet. Move along.

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 在VB.NET 读取TXT文件内容按行

    Dim sr As System.IO.StreamReader = New System.IO.StreamReader(Application.StartupPath & "\tmp.Txt", System.Text.Encoding.Default) Dim line As String line = sr.ReadLine Me.ToolStripStatusLabel2.Text = line line = sr.ReadLine Me.ToolStripStatusLabel4.Text = line line = sr.ReadLine Me.ToolStripStatusLabel2.ToolTipText = line line = sr.ReadLine Me.ToolStripStatusLabel4.ToolTipText = line sr.Close()

  • VBA 数组,取二维数组中的1行/1列的两种方法

    1 取二维数组的 1行/ 1列的方法 1.1 方法1 循环方法,固定1行/1列,另外一维循环 for arr1(i,1) 1.2 方法2 application.index() 取一维 application.index(arr1,1,0) application.index(arr1,0,1) 2 工作表函数的index都默认从1开始 2.1 工作表函数...

  • VB.NET的DataTable常用方法总结

    VB.NET的DataTable常用方法总结

  • 程序设计之三:OleDB数据库访问技术(VB.NET+Access)

    近来正在做一个图书管理系统,采用VB.NET语言编写,所有程序运行都必须安装Microsoft .NET Framework 4.0并连接到Access2003数据库中。现在已近完工,我将本软件中用到的所有连接语句归纳于此处,一来方便大家,互相学习,二来,也方便自己日后的复习。

  • vb.net读取xml文件中的节点内容

    呵呵,先声明一下,会的就不用看了,本人的水平很菜,也就用xml文件配置一下软件中的一些参数.xml文件中的内容如下: 15 14 通过一个函数来读取data结点下的值,参数只有一个 Private Function GetXML(ByVal name As String) As String Dim path As String

  • 从大数组中截取部分数组

    byte[]datas1=newbyte[400];byte[]datas2=newbyte[200]; List<byte>curData=newList<byte>(); curData.AddRange(datas1); curData.CopyTo(0,datas2,0,200); 不...

  • vb读取文本文件某行的内容

    VB可以使用二进制方式打开文本文件,以Get 语句读到字节数组,再使用StrConv 函数将其转换为字符串,而后使用Split函数文本的字符串数组及总句数,使用InputBox 函数来输入需要读某行文本。 Get 语句 将一个已打开的磁盘文件读入一个变量之中。 StrConv 函数 返回按指定类型转换的 Variant (String)。 Split函数 返回一个下标从零开始的一维数组,它包含指定...

  • VB.NET 数组的定义 动态使用 多维数组

    我们都知道在全部程序设计语言中数组都是一个非常重要的概念,数组的作用是同意程序猿用同一个名称来引用多个变量,因此採用数组索引来区分这些变量。非常多情况下利用数组索引来设置一个循环,这样就能够高效地处理复杂的情况,因此在非常多情况下,使用数组能够缩短或者简化程序的代码。本文主要介绍VB.NET数组的使用,希望对大家的使用带来帮助。 数组中的第一个元素的下标称为下界,最后一个元素的下标称为上界,其余的元素...

  • VB.NET逐行(一行一行)向DataGridView数据控件中添加数据

    <br /><br />在网络上很有看到逐行(一行一行)向DataGridView数据控件中添加数据,在这里我写了一个范例,可供大家参考!希望对有用到的同志有用。。。。<br /> <br />Dim AddDataSet As New DataSet() '实例化一个 DataSet数据集<br />        Dim AddRow As DataRow   '实例化一个DataRow数据行<br />        Dim RowValues(7) As Object  '定义一维数组<br

  • 在asp.net中,怎样把从数据库查询出的一行数据分别取出它每一列的值?

    SqlConnection con = new SqlConnection(@“server=.\sqlexpress;database=TestDataBase;uid=sa;pwd=123”); con.Open(); SqlCommand cmd = new SqlCommand(“select * from Test1”, con); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); sda.Fill(

  • VB.NET学习笔记:操作数据集DataSet中DataTable数据行(DataRow)——新增、插入、复制、克隆

    通常我们都知道可以使用OleDbDataAdapter对象的Fill方法从数据源检索数据并填充DataSet 中的DataTable,其实我们也可以人工为DataTable添加DataRow。 一、Rows.Add和Rows.InsertAt方法 Add和InsertAt方法都可以把新行添加到DataTable。 新一个Windows应用程序,在Form1窗体拉入一个按钮和DataGridView...

Global site tag (gtag.js) - Google Analytics