还有这种操作?构建高性能微服务架构 | 码云周刊第 29 期

高性能微服务架构

码云项目推荐

1基于 Java 8 的微服务框架 Redkale

项目简介:Redkale (中文名: 红菜苔,湖北武汉的一种特产蔬菜) 是基于 Java 8 全新的微服务框架, 包含 HTTP、WebSocket、TCP/UDP、数据序列化、数据缓存、依赖注入等功能。 本框架致力于简化集中式和微服务架构的开发,在增强开发敏捷性的同时保持高性能。

主要特点:

  • 大量使用 Java 8 新特性(接口默认值、Stream、Lambda、JDk8 内置的 ASM 等);
  • 提供 HTTP 服务,同时内置 JSON 功能与限时缓存功能;
  • TCP 层完全使用 NIO.2,并统一 TCP 与 UDP 的接口换;
  • 提供分布式与集中式部署的无缝切换;
  • 提供类似 JPA 功能,包含数据缓存自动同步、分表分库与简洁的数据层操作接口;
  • 可以动态修改已依赖注入的资源。

项目地址:

http://gitee.com/redkale/redkale

2基于微服务的 E 框架

项目简介:框架采用微服务的设计思想,而且各工程易分易合,采用前后台分开,前后台都可以单独部署。

  • 框架采用微服务的设计思想,而且各工程易分易合
  • 此框架采用前后台分开,前后台都可以单独部署,前端采用轻量级的扁平化设计(html+javascript+Bootstrap), 会自动针对不同的屏幕尺寸调整页面,使其在各个尺寸的屏幕上表现良好。
  • 后端采用Spring boot 、 Spring Cloud,不需要部署WAR 文件,可直接运行jar文件。
  • 系统权限框架采用spring-security oauth2,实现前后台权限校验,权限实现了用户授权和客户端授权。
  • 持久层采用JPA ,能够很好的适应不同数据库,并实现注解式动态查询功能。
  • 数据响应该采用json格式。
  • 服务采用REST形式,能够方便的与手机app进行对接,集成swagger能够在线查看RESTAPI 文档和在线测试服务接口
  • 支持单点登录,可以多系统进行菜单集成,形成一个portal。
  • 支持高并发和水平扩展,支持Session的统一存储。
  • 项目采用gradle构建,能够方便的将各项目进行按需组装。

项目地址:

http://gitee.com/fuhoujun/e

3jeecg-p3 微服务框架

项目简介:微服务与容器技术实践,业务组件以 JAR 方式提供,插件模式、松耦合、可插拔、支持独立部署,也可以无缝集成 Jeecg 平台中。

项目地址:

http://gitee.com/jeecg/jeecg-p3

4基于 spring-boot 封装的微服务架构

项目简介:对 spring boot 进行轻度封装的一个开源项目,更确切的说应该是一个项目脚手架。smart boot 在集成 spring boot 的同时,约定了一个项目的模块化结构。

smart boot 适合哪些人:

  • 个人,对 spring boot、微服务架构有浓厚兴趣的朋友;
  • 创业团队,创业团队正处于从0到1的过程,可以考虑 smart boot,因为该框架正式从创业团队中历练出来的;
  • 大公司,可以考虑选用。这样的团队基本有一个成熟的业务架构,所以仅在进行重构或者新业务搭建时推荐使用 smart boot。

为什么开源 smart boot:

  • smart boot 是作者从事架构工作以来第一份任务的产物,因此也显得格外有意义,非常希望能够分享给同行朋友。
  • 作为一款新生的作品,smart boot 迫切需要去经历更多实际业务检验才能得以成长。但是,作者并不希望因此导致 smart boot 变得臃肿、复杂,保持简单就好。
  • 回馈开源社区,步入这一行以来享受了太多开源项目带来的便利,目前也希望能够给予他人一些帮助。

项目地址:

https://gitee.com/smartboot/smart-boo

5基于 GO 的短信验证码微服务

项目简介:专为需要【手机短信验证码】使用场景而设计的微服务(Micro service),如:用户注册、找回密码、用户身份验证、验证码登录等等。支持阿里大鱼、云通信、互亿无线。

为什么要造这个轮子:

首先我没有找到已实现这些基本功能合一的轮子,至少开源的没有。而实际上我们很多项目开发时经常需要用到手机验证码功能。然而每次重复造轮子又觉得太繁琐且不容易集中控制。

于是有了开发一个可复用轮子的想法。那么合计不到1500行 Go 代码实现这个可复用的手机验证码微服务何乐不为呢?

项目地址:

http://gitee.com/oss/smscode

6硬盘版的 Redis 微服务

项目简介:

  • RocksDb Service 提供 key / Value 的微服务,构建集群提升服务能力;
  • 在大数据领域对 Cube 进行了扩展,通过执行 MapReduce / Spark 任务构建 Cube,对业务所需的维度组合和度量进行预聚合,当查询到达时直接访问预计算聚合结果,省去对大数据的扫描和运算;
  • 把 Cube 结果存入 mydb;
  • 在数据集市层面取代 Redis、Hbase、Apache Kylin。

单节点的 mydb 是一个可持久化的大容量硬盘版的 redis 存储服务,兼容 string、json 数据格式的接口;解决 redis 由于存储数据量巨大而导致内存不够用的容量瓶颈,可以当做一个大容量的 HashMap 来用。

项目地址:

http://gitee.com/supermy/rocksdb-service

原文发布于微信公众号 - 码云Gitee(mayunOSC)

原文发表时间:2017-07-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

【插件开发】—— 1 Eclipse插件开发导盲

在真正接触eclipse插件开发一个月后,对插件的开发过程以及技术要求,也有了一定的了解。遥想之前像无头苍蝇一样乱撞乱学,真心觉得浪费了不少时间。这里就总结...

45190
来自专栏程序小工

【转】PHP发展路径

按照了解的很多 PHP/LNMP 程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段 PHP ...

51330
来自专栏北京马哥教育

Uread 自动化运维平台七大阶段实践

首先技术并没有好坏之分,只能说一种技术在特定场景会优于另一种技术。 首先uread优读( http://aiuread.com/ )作为一个还处于起步阶段的团队...

39640
来自专栏Forrest随想录

XXOps实践:持续发布和部署

上周分享了一篇文章《有了CMDB,为什么还要应用配置管理》,主要讲了基础层面应该怎么做,那基础的东西做好了,如果用不起来,就没有价值,那我们今天就来看看在此基础...

14440
来自专栏服务端技术杂谈

[硅谷热门公司技术巡礼]:UBER数据大迁徙

想象一下如果你必须在几个星期内迁移数以亿计的数据和100多个服务项目,同时还要保持UBER被几百万的乘客正常使用,这是多么艰巨的任务啊!而以下这个故事就是关于数...

31370
来自专栏CSDN技术头条

吴英昊:电商搜索引擎的架构设计和性能优化

前当当网高级架构师吴英昊对电商搜索引擎的架构进行了深入分享。在演讲中,他首先就电商搜索引擎的特点进行了解析,随后更分享了电商搜索引擎的架构、数据更新、故障恢复等...

616100
来自专栏程序你好

Monolithic架构到微服务

这种应用程序不是说只负责单个任务,但它们需要几个任务来完成特定的职责。在单体应用程序中,所有服务都打包成一个包,并作为一个进程运行。在单个应用程序中,用户界面、...

26020
来自专栏公众号文章

干货| 架构师入门实战视频课程(二) 附下载地址

5. 回复:zeromq,获取 基于案例学Java服务器端程序设计ZeroMQ Netty视频教程 相关教程

22830
来自专栏程序源代码

springboot实例工程案例(含源码)

引: 最近朋友那边要我给他开发一套JAVA WEB 后台信息管理系统。他要求时间短,任务重,但在 主要业务模板相对比较简单:主要是用于APP后台...

83450
来自专栏菜鸟致敬

【1】网络爬虫简介

网络爬虫何时有用 假设我们有一个鞋店,并且想要及时了解竞争对手的价格。我们可以每天访问他们的网站,与我们的价格进行对比。但是,如果我们店铺只能够的鞋类种类繁多,...

28070

扫码关注云+社区

领取腾讯云代金券