GithubHelp home page GithubHelp logo

zhihuili / flower Goto Github PK

View Code? Open in Web Editor NEW
560.0 44.0 186.0 14.36 MB

反应式微服务框架Flower

Home Page: https://zhihuili.github.io/flower/#/

License: Apache License 2.0

Java 99.05% Shell 0.95%
akka flower java-8 reactive-programming microservice

flower's People

Contributors

dependabot[bot] avatar goal578 avatar lasting-yang avatar leeyazhou avatar lingxiezfy avatar lisj2022 avatar superkklot avatar yinanliang avatar zavakid avatar zhihuili avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flower's Issues

Flower事务机制

支持分布式的,统一的、声明式、补偿式的微服务事务

Flower的分布式流程方案调研

几个Service构成一个流程segment,部署在一个服务器集群上,应用程序的流程可以接入这个segment作为自己流程的一段。主要是消息流转方案设计。
初步思路:在Flower center上管理应用整体流程,segment之间通过center返回的流程定义以及segment部署信息进行分布式消息通信。

最少聚合消息服务节点 LeastJointService

JointService必须收到预设的全部个数消息后,将消息打包发送到后续服务。而LeastJointService在收到第一个消息后,立即将该消息发送到后续服务,后面到达的消息将被丢弃。

Flower并行处理性能测试

测试用例:
一个请求(请求参数:用户ID)返回三个数据库查询:用户信息,推荐商品ID列表,订单状态汇总信息。
三个数据库查询在Flower中通过消息分叉发送给三个服务并行执行。

性能对比(响应时间):和传统的串行阻塞数据库查询对比。

DDD supported

特性需求是要解决什么问题?

领域驱动设计(Domain-Driven Design)功能支持开发

web性能测试

使用Servlet3.0的异步特性,结合Flower的sync调用,构建一个标准web处理demo,进行性能测试。

对比性能:

  1. Servlet非异步
  2. Servlet异步,后续业务同步
  3. Spring WebFlux

Service异常处理

目前Service异常发生时,异常会发送到SupervisorActor,目标是使用者可以开发ExceptionService,针对Service异常进行无侵入的处理。

阻塞检测

特性需求是要解决什么问题?

flower运行过程中,可能会有业务阻塞线程,如果线程有阻塞,怎么可以检测到阻塞线程的阻塞点。

描述您期望的解决方案

flower运行过程中如果检测到阻塞点则通知用户。

Flower与Spring boot集成

利用Spring boot完成url路径dispatch,请求数据封装,并获得AsyncContext对象,将请求数据和AsyncContext对象交给Flower继续异步处理。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.