GO-YEA 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
GO-YEA 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
GO-YEA 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !

软件简介

YEA

重要事情说三遍:使用go-yea前,请先下载yea,并且执行yea/pom.xml,不然会缺少依赖Jar包。

mvn clean install -Dmaven.test.skip=true

YEA项目地址:https://git.oschina.net/yiyongfei/yea

概述

GO-YEA是什么

GO-YEA是YEA的一个应用,它是一个极其容易使用的分布式框架,致力于提供产品的快速启动以及后续的服务伸缩。 其核心部分包含:

  • RPC服务:基于Netty4框架、序列化、数据压缩、心跳检测、断链重连等机制提供稳定的RPC服务,完成服务之间的非阻塞通讯。
  • 负载均衡:基于Ribbon提供的负载均衡算法,通过不同的负载均衡策略可以合理分担系统负载、加强网络数据处理能力。
  • 熔断处理:基于Hystrix提供的熔断机制,为分布式系统提供延迟和容错功能,防止级联失败,在面临不可避免的失败时仍能有其弹性。
  • LOOKUP服务:基于Zookeeper提供的注册中心,使地址透明,方便服务生产者、消费者平滑增加或减少机器。
  • 认证授权:基于Shiro框架、Redis服务提供的权限管理,提供用户的认证服务和可配置的授权服务。
  • 代码生成:通过生成工具,生成基于Mybatis的Sql-Mapping文件及相应的Entity、PK、Domain类(均是贫血对象),降低开发人员的重复工作。
  • Spring配置:透明化接入,通过Spring自身的注解机制无需额外编写代码即可为服务提供分布式能力。

GO-YEA  传送门

GO-YEA能做什么

首先它是一个分布式服务框架,通过高性能的RPC远程调用以及SOA服务治理,提升产品在各个阶段不同的可伸缩要求。以达到最大程度降低由于伸缩性的改变对整个项目的变动影响。

系统伸缩性通常以三种方式完成:1、增加副本;2、功能分割;3、数据分割。YEA主要考虑前二种方式。

 Alt 后期部署

其次它是一个快速启动的应用开发平台,集成了项目中常用的基础组件。

  • 认证授权:基于Shiro实现的可配置授权管理系统,通过页面可定义整个系统的权限、角色、授权。

  • 缓存:按照Map接口对Redis和Ehcache封装,降低使用门槛,同时也减少未来缓存方案的迁移开销(本地缓存向分布式缓存的迁移)。

  • ORM:基于Mybatis完成数据库层面的增、删、改、查操作。

  • 代码生成:基于数据表生成Sql-Mapping文件及相应的Entity、PK、Domain类。

  • 序列化:提高统一的序列化接口,支持三种序列化方式:FST、Hessian2、原生。

  • 等等

  •  Alt 技术结构

附上性能测试数据。

测试环境:三台Vultr的云主机,各1 CPU(单核),1024MB 内存,一台部署go-yea-web(Tomcat),一台部署Launcher(启三个服务,每个服务占用堆内存128MB),一台部署Jmeter用于测试。
测试软件:Jmeter。
测试说明:调用api:permission/operation/query。执行路径Jmeter--(http)-->Go-yea-web--(netty)-->Launcher--(tcp)-->DB--(tcp)-->Launcher--(netty)-->Go-yea-web--(http)-->Jmeter
测试结果(360并发): 
Alt 360并发

详细数据: 详细结果
提高并发数,提升性能指标:可以考虑先适当增加CPU核数和内存容量,然后再横向扩充。

纵向扩展对比(二台各2 CPU,4096MB 内存云主机,999并发): 
Alt 999并发

详细数据: 详细结果

访问GO-YEA(部署在bluemix上)

  • 访问地址:http://169.44.3.50
  • 用户名密码:admin admin 或 zhangsan zhangsan
  • 备注:对于admin用户,授权时请不要移除超级管理员这个角色

更新

  • GO-YEA是YEA的应用,绝大多数的问题修复、功能增强都会在YEA上更新

ISSUE

  • 使用期间若发现问题,请登记Issue,我会定期维护Issues上的问题
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (6)

加载中
是不是少代码,这个代码好像不全!重要的事说三遍,少三个代码块: yea-shiro/yea-core/yea-dispatcher
2017/05/19 11:26
回复
举报
打分: 力荐
一个简单纯净的DUBBO
2017/05/09 11:37
回复
举报
yiyongfei软件作者
重要的事情说三遍:GO-YEA是YEA的一个应用,依赖YEA,先从码云下载YEA这个项目,MVN INSTALL后再运行GO-YEA。地址:https://git.oschina.net/yiyongfei/yea。
2017/06/01 10:41
回复
举报
一直以为是GOlang
2017/05/02 14:50
回复
举报
Could not find artifact com.yea:yea-orm🏺0.0.1 编译报错,找不依赖
2017/05/02 14:09
回复
举报
贫血对象。。。
2017/05/02 09:55
回复
举报
更多评论
发表了资讯
2017/06/01 16:14

GO-YEA V0.0.2 发布了,分布式快速开发框架

GO-YEA V0.0.2发布了,它是一个极其容易使用的分布式框架,致力于提供产品的快速启动以及后续的服务伸缩。 主要更新内容: Netty优化,在增强稳定性的同时又提升了发送效率; 增加数据压缩机制,编解码过程中对传输数据进一步压缩,提升网络传输效率,压缩算法除了常用GZIP外,还添加ZSTD、LZ4等六种算法。 丰富负载均衡策略,基于Ribbon实现,支持轮询、随机、最少连接、响应时间权重、哈希等负载策略; 增加熔断机制,基于Hys...

4
22
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于云计算专区
2015/04/29 13:14

billion revenue last yea

APPLE ACQUIRES BEATS Apple Electronics announced on Black Crystal Alta Perla 100mm May 28th its acquisition of Dr Dre Beats Electronics for $3billion. Well is that not too Suede/Glitter 8 Mignons 160mm little for the product. WellAccording to Forbes, Apple paid $2.6billion cash upfront and gave $400million in stock that will vest over time. The $3billion purchase price includes Beats Music, the...

0
0
发表了博客
2014/09/07 22:57

TableView height for row

some times the table view cell's height is dynamic, such as in the I'M app, so we should set the correct cell height for every cell. but how to set the dynamic table view cell height? Yea, you can implement the table view's delagate method "tableView:heightForRowAtIndexPath:" to do, but if you want to call the method "cellForRowAtIndexPath:" to get the cell and calculate the cell's height, you ...

0
0
2020/01/24 12:15

2020到啦!送上一份专属的新年祝福...

鼠年大吉 HAPPY 2020'S NEW YEA 转眼间 2019年一晃而过 2020年已经开始! 回头看 2019年并不像以往那般平静 跨年之际,送给大家专属的新年祝福 "百毒不侵" Ms08067安全实验室感谢 这一年来所有粉丝、网络安全同行们的支持和信任! Ms08067安全实验室 本文分享自微信公众号 - Ms08067安全实验室(Ms08067_com)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

0
0
发表了博客
2020/05/19 06:18

哪种方法效果更好:.Any()与.Count()> 0? - Which method performs better: .Any() vs .Count() > 0?

问题: in the System.Linq namespace, we can now extend our IEnumerable 's to have the Any() and Count() extension methods . 在System.Linq命名空间中,我们现在可以将IEnumerable扩展为具有Any()和Count() 扩展方法 。 I was told recently that if i want to check that a collection contains 1 or more items inside it, I should use the .Any() extension method instead of the .Count() > 0 extension method be...

0
0
发表于软件架构专区
2018/12/12 09:01

什么是以太坊DAO?(二)

Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念。一般翻译为去中心化的自治组织。 在[上一节](http://blog.hubwiz.com/2018/12/10/ethereum-DAO/)中,我们为了展示什么是DAO创建了一个合约,就像一个采用邀请制的俱乐部,会员被总统的心血来潮邀请或禁止。但这有一些缺点:如果有人想改变他的主要地址怎么办?如果一些成员比其他成员更重要?怎么办? 如果你真的想在公开市场上交易或出售会员资格或股票怎...

0
0
发表了博客
2020/09/01 16:16

MATLAB table数据结构 首篇

MATLAB常用基本数据类型有:整型,浮点型,字符型,函数句柄,元胞数组和结构体数组。除了这些基本数据类型,MATLAB还有很多其它的数据类型不为人熟悉,这些数据类型在编程中也非常有用。MATLAB高级数据类型系列旨在向大家介绍它们:比如 containers.Map, tables, enumeration和 time series等等,它们为什么有用,用来解决什么问题,并且怎样在科学工程计算中怎么使用。上篇我们提到了映射表结构( containers.Map)。本篇将...

0
0
发表了博客
2019/07/15 14:32

dplyr

The d is for dataframes, the plyr is to evoke pliers. Pronounce however you like. dplyr包可用于处理 R 内部或者外部的结构化数据,相较于plyr包,dplyr包专注接受 data.frame 对象,大幅提高了速度,并且提供了更稳健的数据库接口。同时,dplyr包可用于操作Spark的dataframe。 官网:https://cran.r-project.org/web/packages/dplyr/index.html 包中的函数查询:https://cran.r-project.org/web/packages/dplyr/dplyr.pdf...

0
0
发表了博客
2013/10/22 14:42

箴 言 Proverbs 22

22:1 A GOOD name is rather to be chosen than great riches, and loving favour rather than silver and gold. 22:2 The rich and poor meet together: the LORD is the maker of them all. 22:3 A prudent man foreseeth the evil, and hideth himself: but the simple pass on, and are punished. 22:4 By humility and the fear of the LORD are riches, and honour, and life. 22:5 Thorns and snares are in the way of ...

0
0
2015/06/11 13:52

think there's many who

Um, goodNeither parent denied punishing the two for lying and stealing, and acknowledged that Kimery Jorg doled out most of the punishment because she was home with the children and that Johann Jorg spanked the children with the wooden paddle and recently shaved the head of the 13 year old, according to the statement The entire shoe is lined with a soft material that won't irritate or rub your ...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
6 评论
120 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部