arun-gupta / microservices Goto Github PK
View Code? Open in Web Editor NEWJava EE and Microservices
Java EE and Microservices
Read #21 for more details
Fixed service discovery need to store the URIs in a shared persistent store. Otherwise each service will have its own ConcurrentHashMap
.
Fixed service registration/discovery should be moved to services
module. This can be done by adding @Fixed
qualifier, just like @ZooKeeper
.
I also trying to find some conceptions with implementation of microservices in Java EE world,
and found some lib, please take look, for more idea =)
http://www.slideshare.net/slideshow/embed_code/46377880
https://github.com/advantageous/qbit
ZooKeeper IP address and port are hardcoded in org.javaee7.wildfly.samples.services.zookeeper.ZooKeeper
. This need to be done using a configuration file or some other means.
need example how to organize transaction in micro services, like service A need successful respond from depended services n & service n need successful respond from service x.
http://stackoverflow.com/questions/24676364/transactions-in-microservices
@jstrachan will update the issue when its ready to be used.
@ZooKeeper
qualifier can be specified over any REST endpoint. The endpoint will then register with ZooKeeper as a service.
Additionally, if @ZooKeeper
is specified on an Application class then all endpoints in that application are automatically registered in ZooKeeper using a default name.
For the microservices-based application, all UI pages are in the everest
module. These should be refactored to each individual component and then used instead.
Currently the URIs of each service is hardcoded in the application. This need to be implemented in org.javaee7.wildfly.samples.everest.ServiceDiscoveryZooKeeper
.
OrderBean
publish a message to a JMS queueShippingBean
consumes the message and starts the shipping processMove services
module as a CDI extension
You can see this explicitly in the docs as compared to the underlying Serf lib that is AP
It forms a quorum managed cluster and attempts consistent data access.
Hi arun. Thanks a lot for that example. I have the same issue here. I think about to migrate our warehouse managemnt system ( based on JEE7 ) to microservice architecture for industry 4.0 approach. The problem I have is how to solve the distrubuted transactions. I'm sure you have some ideas ;-)
Read #21 for more details.
Add a new profile to create Docker images for different microservices
Read the list of countries using REST API at: http://restcountries.eu/
Create SnoopRegistry
qualifier in services
module.
Implement ServiceRegistry
interface in org.javaee7.wildfly.samples.services.snoop
package.
These need to be dynamically generated
will be grateful to see how to configure microservice App git repository with OpenShift git repository and run them in WildFly AS 8 on OpenShift
everest-web
should mostly be a dumb proxy pulling all the pages together. Currently it has too much business logic.
This would need #15 to complete first.
Here is the pseudo code:
PathChildrenCache pcache = new PathChildrenCache(curatorFramework, znode, true);
pcache.start();
List<ChildData> childdata = pcache.getCurrentData();
More details: http://curator.apache.org/curator-recipes/path-cache.html
Resource Library Template should be deployed at a central location as opposed to packaged with each WAR file. This will be attempted with #14, or after it is fixed.
Add a new profile to create fat jars using WildFly Swarm
Here is the pseudo code:
uris = curatorFramework.getChildren().usingWatcher(new Watcher() {
@Override
public void process(WatchedEvent we) {
if (we.getType() == Event.EventType.NodeDeleted) {}
}
}).forPath(znode);
This will show how microservices enable polyglot architecture.
Consider MEAN, Scala/Akka, Ruby on Rails, Grails.
Hi all,
I don't know if this is in fact a problem, because I might be doing something wrong.
What I have is:
Don't we miss the links tag in the pom file for the docker images to be built as in:
<image>
...
<run>
<ports>
...
</ports>
<links>
<link>zookeper-service:zoo</link>
</links>
</run>
</image>
Thank you for your support.
Kind Regards
Bruno Almeida
Read #21 for more details
Use ServiceDiscovery for populating the URLs in template.xhtml. Should it be a separate module as its used in everest-web as well?
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.