Giter Site home page Giter Site logo

zhihuili / flower Goto Github PK

View Code? Open in Web Editor NEW
564.0 44.0 184.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 Issues

DDD supported

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

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

最少聚合消息服务节点 LeastJointService

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

Service异常处理

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

Flower与Spring boot集成

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

Flower的分布式流程方案调研

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

web性能测试

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

对比性能:

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

Flower事务机制

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

阻塞检测

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

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

描述您期望的解决方案

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

Flower并行处理性能测试

测试用例:
一个请求(请求参数:用户ID)返回三个数据库查询:用户信息,推荐商品ID列表,订单状态汇总信息。
三个数据库查询在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.