lucav76 / fibry Goto Github PK
View Code? Open in Web Editor NEWThe first Java Actor System supporting fibers from Project Loom
License: MIT License
The first Java Actor System supporting fibers from Project Loom
License: MIT License
thanks for your work!
I want to learn this code deeply, do you have any more detailed documents, or what should I read to learn the actor concurrency model?
hope your replay, thanks
(sorry for my poor English:) )
There are Alice and Bob class in examples/distributed/,how to run it?
It seems that Alice and Bob main() function will not run enter loop, it will exit immediately.
Thank you. @lucav76
Did you mean "no plans to make a binary (jar) distribution version of Fibry"
hi i have a question :
Suppose i use a complex application ising many libraries ad suppose i call a function inside a fiber callback where there is a syncronized block (this function is inside a external dependecy).
My question is
in this case syncronized block coud be a bottleneck using fibers because it uses continualy mutual lock when is not necessary. In addition if i use many fibers in a unique resources i have to add locks for fibers . It is correct?
The simple http server code given in the example:
Stereotypes.def.embeddedHttpServer(8080, new Stereotypes.HttpStringWorker("/", ex -> "Hello world!"));
works, but if I change def
to fibers
, it doesn't work. The client connects, but no response is received from the server.
Tested on latest loom EA build: 16-loom+4-56
Hi Luca,
Thanks for this wonderful actor library.
I am trying to use this library to build a lightweight Kafka actor system akin Alpakka Kafka.
This actor system would comprise of following three things:
some topic
another topic
another topic
Apart from above, I would like to add the functionality such that:
poll()
is called in a infinte loop (till the Kafka consumer is shutdown)poll()
method call reads records from Kafka topic, pause()
method is called on Kafka consumer instance.
poll()
after pause()
keeps consumer group alive with Kafka brokers and they do not trigger a rebalance of the consumer group.commitSync()
(or commitAsync()
) would be called on Kafka consumer for successfully processed recordsresume()
method would be called on Kafka consumer followed by poll()
which would fetch records.pause()
method is called on Kafka consumer instance again.I have tested Alpakka Kafka Java DSL. It abstracts pause()
and resume()
in its DSL
While it works great and is functional, the code is hard to understand especially for people unaware of various Scala Functional interfaces (e.g. Creator). I also have to pull in org.scala-lang/scala-library apart from Alpakka kafka dependencies.
I would greatly appreciate some pointers on structuring above as a ActorSystem using Fibry and actors types to be used.
Hi,
In the Readme, you clearly mention that Fibry is still a WIP, but still, would like to know how stable it really is?
We are trying out Fibry and seeing some issues when we run tests with 1500+ concurrent users, using https://locust.io/
(On normal JDK, no Loom).
We are still debugging the issues, which could be in on our code FWIW, but wanted to check with you in parallel.
Perhaps it might be a good idea to run load tests in CI. We did it recently for our project, so if you are interested, I could submit a PR for that.
cheers,
HRJ
I wanted to try out your code for Fibers on https://jdk.java.net/loom/
but I don't see fiber class anywhere in the JDK
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.