Apache Artemis MQ möjlig intervju Flashcards

1
Q

Openwire protocol is compatible with what?

A

JMS 1.1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Whats the latest artemis version

A

2.32, releasad i slutet av 2023?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

what do you know about core protocol news

A

mirrored core became supported in the, today, latest 2.32 version

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How would you describe apache artemis core protocol?

A

Apache ActiveMQ Artemis core is a messaging system with its own API. We call this the core API.

If you don’t want to use the JMS API or any of the other supported protocols you can use the core API directly. The core API provides all the functionality of JMS but without much of the complexity. It also provides features that are not available using JMS.

https://activemq.apache.org/components/artemis/documentation/2.18.0/core.html

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Whats a Core bridge?

A

The function of a bridge is to consume messages from a source queue, and forward them to a target address, typically on a different Apache ActiveMQ Artemis server. It have resilience functions when connection is lost.

Don’t confuse core bridges with JMS bridges!
Core bridges are for linking an Apache ActiveMQ Artemis node with another Apache ActiveMQ Artemis node and do not use the JMS API. A JMS Bridge is used for linking any two JMS 1.1 compliant JMS providers. So, a JMS Bridge could be used for bridging to or from different JMS compliant messaging system. It’s always preferable to use a core bridge if you can. Core bridges use duplicate detection to provide once and only once guarantees. To provide the same guarantee using a JMS bridge you would have to use XA which has a higher overhead and is more complex to configure.

https://activemq.apache.org/components/artemis/documentation/1.0.0/core-bridges.html

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

whats the main config file?

A

broker.xml

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

how do you create a broker and what is the folder structure created?

A

cd /var/lib
${ARTEMIS_HOME}/bin/activemq create mybroker
A broker instance directory will contain the following sub directories:

bin: holds execution scripts associated with this instance.
etc: hold the instance configuration files
data: holds the data files used for storing persistent messages
log: holds rotating log files
tmp: holds temporary files that are safe to delete between broker runs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the documentation sources that you should be aware of?

A

https://activemq.apache.org/components/artemis/documentation/javadocs/javadoc-latest

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the ways to manage ActiveMQ Artemis?

A

There are numerous ways to access Apache ActiveMQ Artemis management API:

Using JMX — JMX is the standard way to manage Java applications

Using Jolokia — Jolokia exposes the JMX API of an application through an HTTP interface

Using the Core Client — management operations are sent to Apache ActiveMQ Artemis server using Core Client messages

Using any JMS Client — management operations are sent to Apache ActiveMQ Artemis server using JMS Client messages

Web Console — a web application which provides a graphical interface to the management API.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

whats the easiest way to make sure your test jms client is distingiushable from all others?

A

tcp://example.net:61616?jms.clientID=backend

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

anycast vs multicast routing types. Can u give example?

A

The most common use-case for anycast semantics, sometimes referred to as point-to-point, involves applications following a “competing consumer” pattern to receive messages from a shared queue. The more consumers receiving messages the greater the overall message throughput. Multiple Java applications sharing a JMS queue is a classic example of this use-case.

The most common use-case for multicast semantics, sometimes referred to as publish/subscribe or “pub/sub”, involves each application receiving every message sent to an address. Multiple applications consuming from a JMS topic is a classic example of this use-case. MQTT subscriptions is another supported example of multicast semantics.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

amqp, mqtt, stomp, openwire, core, rest, HornetQ (for use with HornetQ clients) pros and cons

A

?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

openwire pros and cons?

A

OpenWire is the native protocol that Apache ActiveMQ Classic uses. It is designed for performance and size on the wire - sacrificing some ease of implementation with higher performance and reduced network bandwidth as a priority. OpenWire was first released in Apache ActiveMQ Classic 4.0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

whats a wire protocol?

A

In computer networking, a wire protocol refers to a way of getting data from point to point. It generally refers to communication protocols higher than the physical layer. In contrast to transport protocols at the transport level (like TCP or UDP), the term wire protocol is used to describe a common way to exchange information at the application level.

The wire protocol may be either text-based or a binary protocol. Although an important architectural decision, this is a separate matter from the distinction between wire protocols and programmatic APIs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Whats Openwire?

A

Apache ActiveMQ Artemis supports the OpenWire protocol so that an Apache ActiveMQ “Classic” JMS client can talk directly to an Apache ActiveMQ Artemis server

AMQ OpenWire JMS is a Java Message Service (JMS) 1.1 client for use in messaging applications that send and receive OpenWire messages.

OpenWire is a cross language Wire Protocol to allow native access to ActiveMQ Classic from a number of different languages and platforms, starting from v4.
Version 2 is the current one, detailed versioning unclear!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

when was artemis v1 and v2 released

A

around 2014 and 2017 respectively seems like

17
Q

What do you know about Open Systems Interconnection model (OSI model) model ?

A

Openwire appears to be 6th layer out of 7. From 1 to 7 layers: physical, data link, network, transport, session, presentation, application layers https://en.wikipedia.org/wiki/OSI_model

18
Q

what are the key features of apache artemis?

A

ActiveMQ Artemis
High-performance, non-blocking architecture for the next generation of messaging applications.

JMS 1.1 & 2.0 + Jakarta Messaging 2.0 & 3.0 with full client implementations including JNDI
High availability using shared storage or network replication
Simple & powerful protocol agnostic addressing model
Flexible clustering for distributing load
Advanced journal implementations for low-latency persistence as well as JDBC
High feature parity with ActiveMQ Classic to ease migration
Asynchronous mirroring for disaster recovery
Data Driven Load Balance

https://activemq.apache.org/

19
Q

Whats AMQP?

A

Broker to broker talks over amqp basically!
The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subscribe), reliability and security.[1]

20
Q

what are the 3 ways to run Artemis?

A

standalone, embedded (basically set of POJOs, if you dont want to expose) and Integrated with a Java/Jakarta EE application server (basically EJB, MDB). For the last case, according to the EE specification an application server uses a JCA adapter to integrate with a JMS messaging system so it can consume messages for MDBs.

21
Q

what are the supported jndi schemes?

A

vm://, tcp://, udp://, jgroups://

22
Q

Whats up with jndi and artemis?

A

JNDI Configuration
The JMS specification establishes the convention that administered objects (i.e. JMS queue, topic and connection factory instances) are made available via the JNDI API. Brokers are free to implement JNDI as they see fit assuming the implementation fits the API. Apache ActiveMQ Artemis does not have a JNDI server. Rather, it uses a client-side JNDI implementation that relies on special properties set in the environment to construct the appropriate JMS objects. In other words, no objects are stored in JNDI on the Apache ActiveMQ Artemis server, instead they are simply instantiated on the client based on the provided configuration. Let’s look at the different kinds of administered objects and how to configure them.

23
Q

What is split brain effect?

A

It is possible that if a primary or backup configured for replication becomes isolated in a network that failover will occur and you will end up with 2 active brokers serving messages. This we call split brain.

24
Q

can you something about when would i use core bridge or jms bridge vs traditional replication or ha setup when seting up apache activemq artemis?

A

ChatGPT4:
You might use a Core or JMS bridge in Apache ActiveMQ Artemis when you need to connect different Artemis instances or integrate with other JMS-compatible brokers, especially for customized message routing or transformation between distinct systems. Traditional replication or HA setups are ideal for ensuring data redundancy and service availability within a single Artemis cluster, focusing on failover and backup configurations to maintain service continuity during outages or server failures. The choice depends on whether your priority is interconnectivity or high availability.