DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

The Latest DevOps and CI/CD Topics

article thumbnail
4 Steps to Integrate Salesforce and Netsuite with Restlet
Learn how to integration Salesforce and Netsuite, two of the most important CRM Solutions, using Restlet.
August 20, 2015
by Davis Kerby
· 7,269 Views · 2 Likes
article thumbnail
Building Microservices: Inter-Process Communication in a Microservices Architecture
In this article, learn how the different services within a system communicate with one another.
August 20, 2015
by Patrick Nommensen
· 27,589 Views · 8 Likes
article thumbnail
The Story With Story Points
A brief history of story points, and why they're not as useful as they may seem at first glance due to the complexity they introduce.
August 19, 2015
by Gil Zilberfeld
· 6,611 Views · 3 Likes
article thumbnail
Build Binaries Only Once for Continuous Deployment
A step-by-step guide to build binaries only once in Java with the Nexus Repository.
August 17, 2015
by Arun Gupta
· 6,633 Views · 4 Likes
article thumbnail
How to Install NodeJS on Docker
Learn how to install NodeJS on a CentOS Docker image using this simple tutorial.
August 12, 2015
by Ajitesh Kumar
· 62,795 Views · 4 Likes
article thumbnail
10 Deep DevOps Thoughts From Chef’s Jez Humble
A summary DevOps concerns and initiatives from Jez Humble, author of the book Continuous Delivery.
August 12, 2015
by Fredric Paul
· 5,891 Views · 4 Likes
article thumbnail
Creating a Docker Image with Ubuntu and Java
Learn how to create a Docker image with Ubuntu 15.04 and Java 7 or 8.
August 11, 2015
by Ivan K
· 106,867 Views · 5 Likes
article thumbnail
Komodo 9.2 Released: Docker & Vagrant Integration, Package Installer, and More
The 9.2 release of Komodo IDE is live and includes new features such as Docker and Vagrant integration, collaboration improvements, a package installer, and UI changes.
August 10, 2015
by Kathy Thomas
· 1,694 Views · 2 Likes
article thumbnail
ZooKeeper for Microservice Registration and Discovery
Learn how to use the service registration and discovery services in ZooKeeper to manage microservices when refactoring from an existing monolithic application.
August 6, 2015
by Arun Gupta
· 39,659 Views · 7 Likes
article thumbnail
Liquibase: Git for the Database
Liquibase is a great tool, and comparable to Git for databases. While it might not technically be a source control system, it's packed with similar functionality.
August 5, 2015
by Nathan Voxland
· 10,160 Views · 2 Likes
article thumbnail
Detect Performance Bottlenecks with Transaction Tracing
Distributed transaction tracing is a useful way to monitor or evaluate your microservices architecture for performance, particularly when measuring end-to-end requests.
August 4, 2015
by Radu Gheorghe
· 5,069 Views · 3 Likes
article thumbnail
Docker – How to SSH to a Running Container
Learn how to install SSH to a Docker container and how to SSH to other Docker containers.
August 3, 2015
by Ajitesh Kumar
· 61,578 Views · 4 Likes
article thumbnail
Is Asynchronous EJB Just a Gimmick?
Blocking APIs can hurt your applications performance. So does using Asynchronous EJBs help?
July 29, 2015
by Ant Kutschera
· 27,647 Views · 9 Likes
article thumbnail
This Week in Modern Software: State of DevOps 2015
Read about the state of DevOps, including Puppet Labs' 2015 report, cloud computing, and Apple Watches.
July 27, 2015
by Fredric Paul
· 2,701 Views
article thumbnail
Using Java 8 CompletableFuture and Rx-Java Observable
A simple scatter-gather scenario using Java 8 CompletableFuture and using Rx-Java Observable.
July 24, 2015
by Biju Kunjummen
· 23,250 Views · 5 Likes
article thumbnail
Monitoring DevOps Style With WildFly 9 And Jolokia
Using JMX you can monitor you Java EE servers for key metrics.
July 22, 2015
by Markus Eisele
· 4,751 Views
article thumbnail
The Periodic Table of DevOps Tools
A very cool, intuitive guide to the massive landscape of DevOps tools and their use cases.
July 22, 2015
by Necco Ceresani
· 36,180 Views · 7 Likes
article thumbnail
Publishing Domain Events with Spring Integration EventBus
How to use Spring Integration to keep domain and integration concerns separate and simple for many Spring-based applications.
July 19, 2015
by Muhammad Noor
· 23,276 Views · 6 Likes
article thumbnail
Microservices with Spring
How to put Spring, Spring Boot, and Spring Cloud together to create a microservice.
July 15, 2015
by Pieter Humphrey
· 20,660 Views · 6 Likes
article thumbnail
Docker in Action: The Shared Memory Namespace
In this article, excerpted from the book Docker in Action, I will show you how to open access to shared memory between containers. Linux provides a few tools for sharing memory between processes running on the same computer. This form of inter-process communication (IPC) performs at memory speeds. It is often used when the latency associated with network or pipe based IPC drags software performance below requirements. The best examples of shared memory based IPC usage is in scientific computing and some popular database technologies like PostgreSQL. Docker creates a unique IPC namespace for each container by default. The Linux IPC namespace partitions shared memory primitives like named shared memory blocks and semaphores, as well as message queues. It is okay if you are not sure what these are. Just know that they are tools used by Linux programs to coordinate processing. The IPC namespace prevents processes in one container from accessing the memory on the host or in other containers. Sharing IPC Primitives Between Containers I’ve created an image named allingeek/ch6_ipc that contains both a producer and consumer. They communicate using shared memory. Listing 1 will help you understand the problem with running these in separate containers. Listing 1: Launch a Communicating Pair of Programs # start a producer docker -d -u nobody --name ch6_ipc_producer \ allingeek/ch6_ipc -producer # start the consumer docker -d -u nobody --name ch6_ipc_consumer \ allingeek/ch6_ipc -consumer Listing 1 starts two containers. The first creates a message queue and starts broadcasting messages on it. The second should pull from the message queue and write the messages to the logs. You can see what each is doing by using the following commands to inspect the logs of each: docker logs ch6_ipc_producer docker logs ch6_ipc_consumer If you executed the commands in Listing 1 something should be wrong. The consumer never sees any messages on the queue. Each process used the same key to identify the shared memory resource but they referred to different memory. The reason is that each container has its own shared memory namespace. If you need to run programs that communicate with shared memory in different containers, then you will need to join their IPC namespaces with the --ipc flag. The --ipc flag has a container mode that will create a new container in the same IPC namespace as another target container. Listing 2: Joining Shared Memory Namespaces # remove the original consumer docker rm -v ch6_ipc_consumer # start a new consumer with a joined IPC namespace docker -d --name ch6_ipc_consumer \ --ipc container:ch6_ipc_producer \ allingeek/ch6_ipc -consumer Listing 2 rebuilds the consumer container and reuses the IPC namespace of the ch6_ipc_producer container. This time the consumer should be able to access the same memory location where the server is writing. You can see this working by using the following commands to inspect the logs of each: docker logs ch6_ipc_producer docker logs ch6_ipc_consumer Remember to cleanup your running containers before moving on: # remember: the v option will clean up volumes, # the f option will kill the container if it is running, # and the rm command takes a list of containers docker rm -vf ch6_ipc_producer ch6_ipc_consumer There are obvious security implications to reusing the shared memory namespaces of containers. But this option is available if you need it. Sharing memory between containers is safer alternative to sharing memory with the host.
July 9, 2015
by Jeff Nickoloff
· 39,595 Views · 1 Like
  • Previous
  • ...
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • ...
  • Next
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook
×