阅读更多

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读取MYSQL数据库数据

    MYSQL的一个demo,可以通过VB语言运行界面来获取数据库的表格和内容,并且可以修改数据库内容及上传。

  • 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 工作表函数...

  • 在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读取文件最后一行内容或指定行内容

    读取文件通常是从第一行开始读取,直到最后一行结束。程序只需要最后一行的数据并且文件很大,如果从第一行读取直到最后一行结束来确定最后一行的内容,这样效率会很低。在网上收集了一些直接读取最后一行数据的代码资料,供参考。

  • 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

  • Tribon数据抽取-Outfitting&nbsp;L…

    前两天有朋友咨询用VB进行Structure数据抽取的问题,我建议他看看Tribon自带的Outfitting List.xls,这里面包含了Tribon公司提供的用VBA进行数据抽取的源代码。Outfitting List.xls的快捷方式位于开始菜单\Tribon M3\Outfitting。打开如下图,Excel 2007中点击开发工具-Visual Basic即可查看源代码(Excel 2

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

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

  • VB.NET处理数据行的方法详解

      对于编程人员来说,运用VB.NET能给他们带来好处是不言而喻的。那么它的哪些优点能将编程人员的眼光吸引过去呢?我们今天就可以通过对VB.NET处理数据行的一些相关操作方法的认识,来...

  • VB.NET DataTable数据条件筛选

    DIm dtNew as DataTable=dtDataTable.Clone '假设你现已拥有某一个数据表 dtDataTable,现在你需要从dtDataTable中筛选出部分符合你心意的数据,我们先申明新的空数据表 dtNew Dim dv As DataView = New DataView(dtDataTable) ...

  • VB.Net DataSet和DataTable

    在我们编写代码的时候从数据库里取出数据,填充到dataset里,再根据表的名字,实例化到 datatable 中。其实使用 dataset 相当于所使用数据库中数据的副本,保存在服务器的内存中。         ●         注意如下 ado.net 关系:          Connection_____Command____DataAdapter____Dataset

  • vb 获取mysql表第一行数据库_vb如何读取数据库一行数据?

    展开全部'读取方法:Imports System.IOPublic Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickMe.ListBox1.Items.Clear()Dim StrRed As StreamRea...

Global site tag (gtag.js) - Google Analytics