mirror of https://github.com/hashicorp/consul
Backport of update serf links into release/1.19.x (#21799)
* no-op commit due to failed cherry-picking * update serf links (#21797) * update serf links * add .markdown file extension * update serf links to use /blob/master/ * fix broken links --------- Co-authored-by: github-team-consul-core <github-team-consul-core@hashicorp.com> --------- Co-authored-by: temp <temp@hashicorp.com> Co-authored-by: John Murret <john.murret@hashicorp.com>pull/21808/head
parent
6bb4360793
commit
ecad5ccc82
|
@ -29,7 +29,7 @@ func DefaultConfig() *serf.Config {
|
||||||
// This gives leaves some time to propagate through the cluster before
|
// This gives leaves some time to propagate through the cluster before
|
||||||
// we shut down. The value was chosen to be reasonably short, but to
|
// we shut down. The value was chosen to be reasonably short, but to
|
||||||
// allow a leave to get to over 99.99% of the cluster with 100k nodes
|
// allow a leave to get to over 99.99% of the cluster with 100k nodes
|
||||||
// (using https://www.serf.io/docs/internals/simulator.html).
|
// (using https://github.com/hashicorp/serf/blob/master/docs/internals/simulator.html.erb).
|
||||||
base.LeavePropagateDelay = 3 * time.Second
|
base.LeavePropagateDelay = 3 * time.Second
|
||||||
|
|
||||||
return base
|
return base
|
||||||
|
|
|
@ -14,10 +14,10 @@ very simple calculation. This allows for many useful applications, such as findi
|
||||||
the service node nearest a requesting node, or failing over to services in the next
|
the service node nearest a requesting node, or failing over to services in the next
|
||||||
closest datacenter.
|
closest datacenter.
|
||||||
|
|
||||||
All of this is provided through the use of the [Serf library](https://www.serf.io/).
|
All of this is provided through the use of the [Serf library](https://github.com/hashicorp/serf/).
|
||||||
Serf's network tomography is based on ["Vivaldi: A Decentralized Network Coordinate System"](http://www.cs.ucsb.edu/~ravenben/classes/276/papers/vivaldi-sigcomm04.pdf),
|
Serf's network tomography is based on ["Vivaldi: A Decentralized Network Coordinate System"](http://www.cs.ucsb.edu/~ravenben/classes/276/papers/vivaldi-sigcomm04.pdf),
|
||||||
with some enhancements based on other research. There are more details about
|
with some enhancements based on other research. There are more details about
|
||||||
[Serf's network coordinates here](https://www.serf.io/docs/internals/coordinates.html).
|
[Serf's network coordinates here](https://github.com/hashicorp/serf/blob/master/docs/internals/coordinates.html.markdown).
|
||||||
|
|
||||||
## Network Coordinates in Consul
|
## Network Coordinates in Consul
|
||||||
|
|
||||||
|
|
|
@ -9,15 +9,15 @@ description: >-
|
||||||
|
|
||||||
Consul uses a [gossip protocol](https://en.wikipedia.org/wiki/Gossip_protocol)
|
Consul uses a [gossip protocol](https://en.wikipedia.org/wiki/Gossip_protocol)
|
||||||
to manage membership and broadcast messages to the cluster. The protocol, membership management, and message broadcasting is provided
|
to manage membership and broadcast messages to the cluster. The protocol, membership management, and message broadcasting is provided
|
||||||
through the [Serf library](https://www.serf.io/). The gossip protocol
|
through the [Serf library](https://github.com/hashicorp/serf/). The gossip protocol
|
||||||
used by Serf is based on a modified version of the
|
used by Serf is based on a modified version of the
|
||||||
[SWIM (Scalable Weakly-consistent Infection-style Process Group Membership)](https://www.cs.cornell.edu/projects/Quicksilver/public_pdfs/SWIM.pdf) protocol.
|
[SWIM (Scalable Weakly-consistent Infection-style Process Group Membership)](https://www.cs.cornell.edu/projects/Quicksilver/public_pdfs/SWIM.pdf) protocol.
|
||||||
Refer to the [Serf documentation](https://www.serf.io/docs/internals/gossip.html) for additional information about the gossip protocol.
|
Refer to the [Serf documentation](https://github.com/hashicorp/serf/blob/master/docs/internals/gossip.html.markdown) for additional information about the gossip protocol.
|
||||||
|
|
||||||
## Gossip in Consul
|
## Gossip in Consul
|
||||||
|
|
||||||
Consul uses a LAN gossip pool and a WAN gossip pool to perform different functions. The pools
|
Consul uses a LAN gossip pool and a WAN gossip pool to perform different functions. The pools
|
||||||
are able to perform their functions by leveraging an embedded [Serf](https://www.serf.io/)
|
are able to perform their functions by leveraging an embedded [Serf](https://github.com/hashicorp/serf/)
|
||||||
library. The library is abstracted and masked by Consul to simplify the user experience,
|
library. The library is abstracted and masked by Consul to simplify the user experience,
|
||||||
but developers may find it useful to understand how the library is leveraged.
|
but developers may find it useful to understand how the library is leveraged.
|
||||||
|
|
||||||
|
@ -52,5 +52,5 @@ For more details about Lifeguard, please see the
|
||||||
[Making Gossip More Robust with Lifeguard](https://www.hashicorp.com/blog/making-gossip-more-robust-with-lifeguard/)
|
[Making Gossip More Robust with Lifeguard](https://www.hashicorp.com/blog/making-gossip-more-robust-with-lifeguard/)
|
||||||
blog post, which provides a high level overview of the HashiCorp Research paper
|
blog post, which provides a high level overview of the HashiCorp Research paper
|
||||||
[Lifeguard : SWIM-ing with Situational Awareness](https://arxiv.org/abs/1707.00788). The
|
[Lifeguard : SWIM-ing with Situational Awareness](https://arxiv.org/abs/1707.00788). The
|
||||||
[Serf gossip protocol guide](https://www.serf.io/docs/internals/gossip.html#lifeguard)
|
[Serf gossip protocol guide](https://github.com/hashicorp/serf/blob/master/docs/internals/gossip.html.markdown#lifeguard-enhancements)
|
||||||
also provides some lower-level details about the gossip protocol and Lifeguard.
|
also provides some lower-level details about the gossip protocol and Lifeguard.
|
||||||
|
|
|
@ -51,7 +51,7 @@ and our implementation is described [here](/consul/docs/architecture/consensus).
|
||||||
|
|
||||||
## Gossip
|
## Gossip
|
||||||
|
|
||||||
Consul is built on top of [Serf](https://www.serf.io/) which provides a full
|
Consul is built on top of [Serf](https://github.com/hashicorp/serf/) which provides a full
|
||||||
[gossip protocol](https://en.wikipedia.org/wiki/Gossip_protocol) that is used for multiple purposes.
|
[gossip protocol](https://en.wikipedia.org/wiki/Gossip_protocol) that is used for multiple purposes.
|
||||||
Serf provides membership, failure detection, and event broadcast. Our use of these
|
Serf provides membership, failure detection, and event broadcast. Our use of these
|
||||||
is described more in the [gossip documentation](/consul/docs/architecture/gossip). It is enough to know
|
is described more in the [gossip documentation](/consul/docs/architecture/gossip). It is enough to know
|
||||||
|
@ -78,171 +78,171 @@ This section collects brief definitions of some of the terms used in the discuss
|
||||||
|
|
||||||
|
|
||||||
## Access Control List (ACL)
|
## Access Control List (ACL)
|
||||||
An Access Control List (ACL) is a list of user permissions for a file, folder, or
|
An Access Control List (ACL) is a list of user permissions for a file, folder, or
|
||||||
other object. It defines what users and groups can access the object and what
|
other object. It defines what users and groups can access the object and what
|
||||||
operations they can perform.
|
operations they can perform.
|
||||||
|
|
||||||
Consul uses Access Control Lists (ACLs) to secure the UI, API, CLI, service
|
Consul uses Access Control Lists (ACLs) to secure the UI, API, CLI, service
|
||||||
communications, and agent communications.
|
communications, and agent communications.
|
||||||
Visit [Consul ACL Documentation and Guides](/consul/docs/security/acl)
|
Visit [Consul ACL Documentation and Guides](/consul/docs/security/acl)
|
||||||
|
|
||||||
## API Gateway
|
## API Gateway
|
||||||
An Application Programming Interface (API) is a common software interface that
|
An Application Programming Interface (API) is a common software interface that
|
||||||
allows two applications to communicate. Most modern applications are built using
|
allows two applications to communicate. Most modern applications are built using
|
||||||
APIs. An API Gateway is a single point of entry into these modern applications
|
APIs. An API Gateway is a single point of entry into these modern applications
|
||||||
built using APIs.
|
built using APIs.
|
||||||
|
|
||||||
## Application Security
|
## Application Security
|
||||||
Application Security is the process of making applications secure by detecting
|
Application Security is the process of making applications secure by detecting
|
||||||
and fixing any threats or information leaks. This can be done during or after
|
and fixing any threats or information leaks. This can be done during or after
|
||||||
the app development lifecycle; although, it is easier for app teams and security
|
the app development lifecycle; although, it is easier for app teams and security
|
||||||
teams to incorporate security into an app even before the development process
|
teams to incorporate security into an app even before the development process
|
||||||
begins.
|
begins.
|
||||||
|
|
||||||
## Application Services
|
## Application Services
|
||||||
Application Services are a group of services, such as application performance
|
Application Services are a group of services, such as application performance
|
||||||
monitoring, load balancing, service discovery, service proxy, security,
|
monitoring, load balancing, service discovery, service proxy, security,
|
||||||
autoscaling, etc. needed to deploy, run, and improve applications.
|
autoscaling, etc. needed to deploy, run, and improve applications.
|
||||||
|
|
||||||
## Authentication and Authorization (AuthN and AuthZ)
|
## Authentication and Authorization (AuthN and AuthZ)
|
||||||
Authentication (AuthN) deals with establishing user identity while Authorization
|
Authentication (AuthN) deals with establishing user identity while Authorization
|
||||||
(AuthZ) allows or denies access to the user based on user identity.
|
(AuthZ) allows or denies access to the user based on user identity.
|
||||||
|
|
||||||
## Auto Scaling Groups
|
## Auto Scaling Groups
|
||||||
An Auto Scaling Group is an AWS specific term that represents a collection of
|
An Auto Scaling Group is an AWS specific term that represents a collection of
|
||||||
Amazon EC2 instances that are treated as a logical grouping for the purposes of
|
Amazon EC2 instances that are treated as a logical grouping for the purposes of
|
||||||
automatic scaling and management.
|
automatic scaling and management.
|
||||||
Learn more about Auto Scaling Groups
|
Learn more about Auto Scaling Groups
|
||||||
[here](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html).
|
[here](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html).
|
||||||
|
|
||||||
## Autoscaling
|
## Autoscaling
|
||||||
Autoscaling is the process of automatically scaling computational resources based
|
Autoscaling is the process of automatically scaling computational resources based
|
||||||
on network traffic requirements. Autoscaling can be done either horizontally or
|
on network traffic requirements. Autoscaling can be done either horizontally or
|
||||||
vertically. Horizontal scaling is done by adding more machines into the pool of
|
vertically. Horizontal scaling is done by adding more machines into the pool of
|
||||||
resources whereas vertical scaling means increasing the capacity of an existing
|
resources whereas vertical scaling means increasing the capacity of an existing
|
||||||
machine.
|
machine.
|
||||||
|
|
||||||
## Blue-Green Deployments
|
## Blue-Green Deployments
|
||||||
Blue-Green Deployment is a deployment method designed to reduce downtime by
|
Blue-Green Deployment is a deployment method designed to reduce downtime by
|
||||||
running two identical production environments labeled Blue and Green. Blue is
|
running two identical production environments labeled Blue and Green. Blue is
|
||||||
the active while Green is the idle environment.
|
the active while Green is the idle environment.
|
||||||
|
|
||||||
## Canary Deployments
|
## Canary Deployments
|
||||||
Canary deployment is the pattern used for rolling out releases to a subset of
|
Canary deployment is the pattern used for rolling out releases to a subset of
|
||||||
users or servers. The goal is deploy the updates to a subset of users, test it,
|
users or servers. The goal is deploy the updates to a subset of users, test it,
|
||||||
and then roll out the changes to everyone.
|
and then roll out the changes to everyone.
|
||||||
|
|
||||||
## Client-side Load Balancing
|
## Client-side Load Balancing
|
||||||
Client-side load balancing is a load balancing approach that relies on clients'
|
Client-side load balancing is a load balancing approach that relies on clients'
|
||||||
decision to call the right servers. As the name indicates, this approach is part
|
decision to call the right servers. As the name indicates, this approach is part
|
||||||
of the client application. Servers can still have their own load balancer
|
of the client application. Servers can still have their own load balancer
|
||||||
alongside the client-side load balancer.
|
alongside the client-side load balancer.
|
||||||
|
|
||||||
## Cloud Native Computing Foundation
|
## Cloud Native Computing Foundation
|
||||||
The [Cloud Native Computing Foundation (CNCF)](https://github.com/cncf/foundation)
|
The [Cloud Native Computing Foundation (CNCF)](https://github.com/cncf/foundation)
|
||||||
is a Linux Foundation project that was founded in 2015 to help advance
|
is a Linux Foundation project that was founded in 2015 to help advance
|
||||||
container technology and align the tech industry around its evolution.
|
container technology and align the tech industry around its evolution.
|
||||||
|
|
||||||
HashiCorp joined Cloud Native Computing Foundation to further HashiCorp
|
HashiCorp joined Cloud Native Computing Foundation to further HashiCorp
|
||||||
product integrations with CNCF projects and to work more closely with the
|
product integrations with CNCF projects and to work more closely with the
|
||||||
broader cloud-native community of cloud engineers. Read more
|
broader cloud-native community of cloud engineers. Read more
|
||||||
[here](https://www.hashicorp.com/blog/hashicorp-joins-the-cncf/).
|
[here](https://www.hashicorp.com/blog/hashicorp-joins-the-cncf/).
|
||||||
|
|
||||||
## Custom Resource Definition (CRD)
|
## Custom Resource Definition (CRD)
|
||||||
Custom resources are the extensions of the Kubernetes API. A Custom Resource
|
Custom resources are the extensions of the Kubernetes API. A Custom Resource
|
||||||
Definition (CRD) file allows users to define their own custom resources and
|
Definition (CRD) file allows users to define their own custom resources and
|
||||||
allows the API server to handle the lifecycle.
|
allows the API server to handle the lifecycle.
|
||||||
|
|
||||||
## Egress Traffic
|
## Egress Traffic
|
||||||
Egress traffic is network traffic that begins inside a network and proceeds
|
Egress traffic is network traffic that begins inside a network and proceeds
|
||||||
through its routers to a destination outside the network.
|
through its routers to a destination outside the network.
|
||||||
|
|
||||||
## Elastic Provisioning
|
## Elastic Provisioning
|
||||||
Elastic Provisioning is the ability to provision computing resources
|
Elastic Provisioning is the ability to provision computing resources
|
||||||
dynamically to meet user demand.
|
dynamically to meet user demand.
|
||||||
|
|
||||||
## Envoy Proxy
|
## Envoy Proxy
|
||||||
[Envoy Proxy](https://www.envoyproxy.io/) is a modern, high performance,
|
[Envoy Proxy](https://www.envoyproxy.io/) is a modern, high performance,
|
||||||
small footprint edge and service proxy. Originally written and deployed at
|
small footprint edge and service proxy. Originally written and deployed at
|
||||||
[Lyft](https://eng.lyft.com/announcing-envoy-c-l7-proxy-and-communication-bus-92520b6c8191),
|
[Lyft](https://eng.lyft.com/announcing-envoy-c-l7-proxy-and-communication-bus-92520b6c8191),
|
||||||
Envoy Proxy is now an official project at [Cloud Native Computing Foundation
|
Envoy Proxy is now an official project at [Cloud Native Computing Foundation
|
||||||
(CNCF)](https://www.cncf.io/cncf-envoy-project-journey/)
|
(CNCF)](https://www.cncf.io/cncf-envoy-project-journey/)
|
||||||
|
|
||||||
## Forward Proxy
|
## Forward Proxy
|
||||||
A forward proxy is used to forward outgoing requests from inside the network
|
A forward proxy is used to forward outgoing requests from inside the network
|
||||||
to the Internet, usually through a firewall. The objective is to provide a level
|
to the Internet, usually through a firewall. The objective is to provide a level
|
||||||
of security and to reduce network traffic.
|
of security and to reduce network traffic.
|
||||||
|
|
||||||
## Hybrid Cloud Architecture
|
## Hybrid Cloud Architecture
|
||||||
A hybrid cloud architecture is an IT architectural approach that mixes
|
A hybrid cloud architecture is an IT architectural approach that mixes
|
||||||
on-premises, private cloud, and public cloud services. A hybrid cloud
|
on-premises, private cloud, and public cloud services. A hybrid cloud
|
||||||
environment incorporates workload portability, orchestration, and management
|
environment incorporates workload portability, orchestration, and management
|
||||||
across the environments.
|
across the environments.
|
||||||
|
|
||||||
A private cloud, traditionally on-premises, is referred to an infrastructure
|
A private cloud, traditionally on-premises, is referred to an infrastructure
|
||||||
environment managed by the user themselves.
|
environment managed by the user themselves.
|
||||||
|
|
||||||
A public cloud, traditionally off-premises, is referred to an infrastructure
|
A public cloud, traditionally off-premises, is referred to an infrastructure
|
||||||
service provided by a third party.
|
service provided by a third party.
|
||||||
|
|
||||||
## Identity-based authorization
|
## Identity-based authorization
|
||||||
Identity-based authorization is a security approach to restrict or allow access
|
Identity-based authorization is a security approach to restrict or allow access
|
||||||
based on the authenticated identity of an individual.
|
based on the authenticated identity of an individual.
|
||||||
|
|
||||||
## Infrastructure as a Service
|
## Infrastructure as a Service
|
||||||
Infrastructure as a Service, often referred to as IaaS, is a cloud computing
|
Infrastructure as a Service, often referred to as IaaS, is a cloud computing
|
||||||
approach where the computing resources are delivered online via APIs. These
|
approach where the computing resources are delivered online via APIs. These
|
||||||
APIs communicate with underlying infrastructure like physical computing resources,
|
APIs communicate with underlying infrastructure like physical computing resources,
|
||||||
location, data partitioning, scaling, security, backup, etc.
|
location, data partitioning, scaling, security, backup, etc.
|
||||||
|
|
||||||
IaaS is one of the four types of cloud services along with SaaS
|
IaaS is one of the four types of cloud services along with SaaS
|
||||||
(Software as a Service), PaaS (Platform as a Service), and Serverless.
|
(Software as a Service), PaaS (Platform as a Service), and Serverless.
|
||||||
|
|
||||||
## Infrastructure as Code
|
## Infrastructure as Code
|
||||||
Infrastructure as Code (IaC) is the process of developers and operations teams'
|
Infrastructure as Code (IaC) is the process of developers and operations teams'
|
||||||
ability of provisioning and managing computing resources automatically through
|
ability of provisioning and managing computing resources automatically through
|
||||||
software, instead of using configuration tools.
|
software, instead of using configuration tools.
|
||||||
|
|
||||||
## Ingress Controller
|
## Ingress Controller
|
||||||
In Kubernetes, "ingress" is an object that allows access Kubernetes services
|
In Kubernetes, "ingress" is an object that allows access Kubernetes services
|
||||||
from outside the Kubernetes cluster. An ingress controller is responsible for
|
from outside the Kubernetes cluster. An ingress controller is responsible for
|
||||||
ingress, generally with a load balancer or an edge router that can help with
|
ingress, generally with a load balancer or an edge router that can help with
|
||||||
traffic management.
|
traffic management.
|
||||||
|
|
||||||
## Ingress Gateway
|
## Ingress Gateway
|
||||||
An Ingress Gateway is an edge of the mesh load balancer that provides secure and
|
An Ingress Gateway is an edge of the mesh load balancer that provides secure and
|
||||||
reliable access from external networks to Kubernetes clusters.
|
reliable access from external networks to Kubernetes clusters.
|
||||||
|
|
||||||
## Ingress Traffic
|
## Ingress Traffic
|
||||||
Ingress Traffic is the network traffic that originates outside the network and
|
Ingress Traffic is the network traffic that originates outside the network and
|
||||||
has a destination inside the network.
|
has a destination inside the network.
|
||||||
|
|
||||||
## Key-Value Store
|
## Key-Value Store
|
||||||
A Key-Value Store (or a KV Store) also referred to as a Key-Value Database is
|
A Key-Value Store (or a KV Store) also referred to as a Key-Value Database is
|
||||||
a data model where each key is associated with one and only one value in
|
a data model where each key is associated with one and only one value in
|
||||||
a collection.
|
a collection.
|
||||||
|
|
||||||
## L4 - L7 Services
|
## L4 - L7 Services
|
||||||
L4-L7 Services are a set of functions such as load balancing, web application
|
L4-L7 Services are a set of functions such as load balancing, web application
|
||||||
firewalls, service discovery, and monitoring for network layers within the
|
firewalls, service discovery, and monitoring for network layers within the
|
||||||
Open Systems Interconnection (OSI) model.
|
Open Systems Interconnection (OSI) model.
|
||||||
|
|
||||||
## Layer 7 Observability
|
## Layer 7 Observability
|
||||||
Layer 7 Observability is a feature of Consul Service Mesh that enables a
|
Layer 7 Observability is a feature of Consul Service Mesh that enables a
|
||||||
unified workflow for metric collection, distributed tracking, and logging.
|
unified workflow for metric collection, distributed tracking, and logging.
|
||||||
It also allows centralized configuration and management for a distributed
|
It also allows centralized configuration and management for a distributed
|
||||||
data plane.
|
data plane.
|
||||||
|
|
||||||
## Load Balancer
|
## Load Balancer
|
||||||
A load balancer is a network appliance that acts as a [reverse proxy](#reverse-proxy)
|
A load balancer is a network appliance that acts as a [reverse proxy](#reverse-proxy)
|
||||||
and distributes network and application traffic across the servers.
|
and distributes network and application traffic across the servers.
|
||||||
|
|
||||||
## Load Balancing
|
## Load Balancing
|
||||||
Load Balancing is the process of distributing network and application traffic
|
Load Balancing is the process of distributing network and application traffic
|
||||||
across multiple servers.
|
across multiple servers.
|
||||||
|
|
||||||
## Load Balancing Algorithms
|
## Load Balancing Algorithms
|
||||||
Load balancers follow an algorithm to determine how to route the traffic across
|
Load balancers follow an algorithm to determine how to route the traffic across
|
||||||
the server farm. Some of the commonly used algorithms are:
|
the server farm. Some of the commonly used algorithms are:
|
||||||
1. Round Robin
|
1. Round Robin
|
||||||
2. Least Connections
|
2. Least Connections
|
||||||
|
@ -251,127 +251,127 @@ the server farm. Some of the commonly used algorithms are:
|
||||||
5. Least Response Time Method
|
5. Least Response Time Method
|
||||||
6. Least Bandwidth Method
|
6. Least Bandwidth Method
|
||||||
|
|
||||||
## Multi-cloud
|
## Multi-cloud
|
||||||
A multi-cloud environment generally uses two or more cloud computing services
|
A multi-cloud environment generally uses two or more cloud computing services
|
||||||
from different vendors in a single architecture. This refers to the distribution
|
from different vendors in a single architecture. This refers to the distribution
|
||||||
of compute resources, storage, and networking aspects across cloud environments.
|
of compute resources, storage, and networking aspects across cloud environments.
|
||||||
A multi-cloud environment could be either all private cloud or all public cloud
|
A multi-cloud environment could be either all private cloud or all public cloud
|
||||||
or a combination of both.
|
or a combination of both.
|
||||||
|
|
||||||
## Multi-cloud Networking
|
## Multi-cloud Networking
|
||||||
Multi-cloud Networking provides network configuration and management across
|
Multi-cloud Networking provides network configuration and management across
|
||||||
multiple cloud providers via APIs.
|
multiple cloud providers via APIs.
|
||||||
|
|
||||||
## Mutual Transport Layer Security (mTLS)
|
## Mutual Transport Layer Security (mTLS)
|
||||||
Mutual Transport Layer Security, also known as mTLS, is an authentication
|
Mutual Transport Layer Security, also known as mTLS, is an authentication
|
||||||
mechanism that ensures network traffic security in both directions between
|
mechanism that ensures network traffic security in both directions between
|
||||||
a client and server.
|
a client and server.
|
||||||
|
|
||||||
## Network Middleware Automation
|
## Network Middleware Automation
|
||||||
The process of publishing service changes to network middleware such as
|
The process of publishing service changes to network middleware such as
|
||||||
load balancers and firewalls and automating network tasks is called Network
|
load balancers and firewalls and automating network tasks is called Network
|
||||||
Middleware Automation.
|
Middleware Automation.
|
||||||
|
|
||||||
## Network security
|
## Network security
|
||||||
Network security is the process of protecting data and network. It consists
|
Network security is the process of protecting data and network. It consists
|
||||||
of a set of policies and practices that are designed to prevent and monitor
|
of a set of policies and practices that are designed to prevent and monitor
|
||||||
unauthorized access, misuse, modification, or denial of a computer network
|
unauthorized access, misuse, modification, or denial of a computer network
|
||||||
and network-accessible resources.
|
and network-accessible resources.
|
||||||
|
|
||||||
## Network traffic management
|
## Network traffic management
|
||||||
Network Traffic Management is the process of ensuring optimal network operation
|
Network Traffic Management is the process of ensuring optimal network operation
|
||||||
by using a set of network monitoring tools. Network traffic management also
|
by using a set of network monitoring tools. Network traffic management also
|
||||||
focuses on traffic management techniques such as bandwidth monitoring, deep
|
focuses on traffic management techniques such as bandwidth monitoring, deep
|
||||||
packet inspection, and application based routing.
|
packet inspection, and application based routing.
|
||||||
|
|
||||||
## Network Visualization
|
## Network Visualization
|
||||||
Network Visualization is the process of visually displaying networks and
|
Network Visualization is the process of visually displaying networks and
|
||||||
connected entities in a "boxes and lines" kind of a diagram.
|
connected entities in a "boxes and lines" kind of a diagram.
|
||||||
|
|
||||||
In the context of microservices architecture, visualization can provide a clear
|
In the context of microservices architecture, visualization can provide a clear
|
||||||
picture of how services are connected to each other, the service-to-service
|
picture of how services are connected to each other, the service-to-service
|
||||||
communication, and resource utilization of each service.
|
communication, and resource utilization of each service.
|
||||||
|
|
||||||
## Observability
|
## Observability
|
||||||
Observability is the process of logging, monitoring, and alerting on the
|
Observability is the process of logging, monitoring, and alerting on the
|
||||||
events of a deployment or an instance.
|
events of a deployment or an instance.
|
||||||
|
|
||||||
## Elastic Scaling
|
## Elastic Scaling
|
||||||
Elastic Scaling is the ability to automatically add or remove compute or
|
Elastic Scaling is the ability to automatically add or remove compute or
|
||||||
networking resources based on the changes in application traffic patterns.
|
networking resources based on the changes in application traffic patterns.
|
||||||
|
|
||||||
## Platform as a Service
|
## Platform as a Service
|
||||||
Platform-as-a-Service (PaaS) is a category of cloud computing that allows
|
Platform-as-a-Service (PaaS) is a category of cloud computing that allows
|
||||||
users to develop, run, and manage applications without the complexity of
|
users to develop, run, and manage applications without the complexity of
|
||||||
building and maintaining the infrastructure typically associated with
|
building and maintaining the infrastructure typically associated with
|
||||||
developing and launching the application.
|
developing and launching the application.
|
||||||
|
|
||||||
## Reverse Proxy
|
## Reverse Proxy
|
||||||
A reverse proxy handles requests coming from outside, to the internal
|
A reverse proxy handles requests coming from outside, to the internal
|
||||||
network. Reverse Proxy provides a level of security that prevents the
|
network. Reverse Proxy provides a level of security that prevents the
|
||||||
external clients from having direct access to data on the corporate servers.
|
external clients from having direct access to data on the corporate servers.
|
||||||
The reverse proxy is usually placed between the web server and the external
|
The reverse proxy is usually placed between the web server and the external
|
||||||
traffic.
|
traffic.
|
||||||
|
|
||||||
## Role-based Access Controls
|
## Role-based Access Controls
|
||||||
The act of restricting or provisioning access
|
The act of restricting or provisioning access
|
||||||
to a user based on their specific role in the organization.
|
to a user based on their specific role in the organization.
|
||||||
|
|
||||||
## Server side load balancing
|
## Server side load balancing
|
||||||
A Server-side Load Balancer sits between the client and the server farm,
|
A Server-side Load Balancer sits between the client and the server farm,
|
||||||
accepts incoming traffic, and distributes the traffic across multiple backend
|
accepts incoming traffic, and distributes the traffic across multiple backend
|
||||||
servers using various load balancing methods.
|
servers using various load balancing methods.
|
||||||
|
|
||||||
## Service configuration
|
## Service configuration
|
||||||
A service configuration includes the name, description, and the specific
|
A service configuration includes the name, description, and the specific
|
||||||
function of a service. In a microservices application architecture setting,
|
function of a service. In a microservices application architecture setting,
|
||||||
a service configuration file includes a service definition.
|
a service configuration file includes a service definition.
|
||||||
|
|
||||||
## Service Catalog
|
## Service Catalog
|
||||||
A service catalog is an organized and curated collection of services that
|
A service catalog is an organized and curated collection of services that
|
||||||
are available for developers to bind to their applications.
|
are available for developers to bind to their applications.
|
||||||
|
|
||||||
## Service Discovery
|
## Service Discovery
|
||||||
Service Discovery is the process of detecting services and devices on a
|
Service Discovery is the process of detecting services and devices on a
|
||||||
network. In a microservices context, service discovery is how applications
|
network. In a microservices context, service discovery is how applications
|
||||||
and microservices locate each other on a network.
|
and microservices locate each other on a network.
|
||||||
|
|
||||||
## Service Mesh
|
## Service Mesh
|
||||||
Service Mesh is the infrastructure layer that facilitates service-to-service
|
Service Mesh is the infrastructure layer that facilitates service-to-service
|
||||||
communication between microservices, often using a sidecar proxy. This
|
communication between microservices, often using a sidecar proxy. This
|
||||||
network of microservices make up microservice applications and the
|
network of microservices make up microservice applications and the
|
||||||
interactions between them.
|
interactions between them.
|
||||||
|
|
||||||
## Service Networking
|
## Service Networking
|
||||||
Service networking brings several entities together to deliver a particular
|
Service networking brings several entities together to deliver a particular
|
||||||
service. Service Networking acts as the brain of an organization's
|
service. Service Networking acts as the brain of an organization's
|
||||||
networking and monitoring operations.
|
networking and monitoring operations.
|
||||||
|
|
||||||
## Service Proxy
|
## Service Proxy
|
||||||
A service proxy is the client-side proxy for a microservice application.
|
A service proxy is the client-side proxy for a microservice application.
|
||||||
It allows applications to send and receive messages over a proxy server.
|
It allows applications to send and receive messages over a proxy server.
|
||||||
|
|
||||||
## Service Registration
|
## Service Registration
|
||||||
Service registration is the process of letting clients (of the service)
|
Service registration is the process of letting clients (of the service)
|
||||||
and routers know about the available instances of the service.
|
and routers know about the available instances of the service.
|
||||||
Service instances are registered with a service registry on startup and deregistered at shutdown.
|
Service instances are registered with a service registry on startup and deregistered at shutdown.
|
||||||
|
|
||||||
## Service Registry
|
## Service Registry
|
||||||
Service Registry is a database of service instances and information on
|
Service Registry is a database of service instances and information on
|
||||||
how to send requests to these service instances.
|
how to send requests to these service instances.
|
||||||
|
|
||||||
## Microservice Segmentation
|
## Microservice Segmentation
|
||||||
Microservice segmentation, sometimes visual, of microservices is the
|
Microservice segmentation, sometimes visual, of microservices is the
|
||||||
segmentation in a microservices application architecture that enables
|
segmentation in a microservices application architecture that enables
|
||||||
administrators to view their functions and interactions.
|
administrators to view their functions and interactions.
|
||||||
|
|
||||||
## Service-to-service communication
|
## Service-to-service communication
|
||||||
Service-to-service communication, sometimes referred to as
|
Service-to-service communication, sometimes referred to as
|
||||||
inter-service communication, is the ability of a microservice
|
inter-service communication, is the ability of a microservice
|
||||||
application instance to communicate with another to collaborate and
|
application instance to communicate with another to collaborate and
|
||||||
handle client requests.
|
handle client requests.
|
||||||
|
|
||||||
## Software as a Service
|
## Software as a Service
|
||||||
Software as a Service is a licensing and delivery approach to software
|
Software as a Service is a licensing and delivery approach to software
|
||||||
delivery where the software is hosted by a provider and licensed
|
delivery where the software is hosted by a provider and licensed
|
||||||
to users on a subscription basis.
|
to users on a subscription basis.
|
||||||
|
|
|
@ -69,7 +69,7 @@ and [`disable_update_check`](/consul/docs/agent/config/config-files#disable_upda
|
||||||
|
|
||||||
### Q: Does Consul rely on UDP Broadcast or Multicast?
|
### Q: Does Consul rely on UDP Broadcast or Multicast?
|
||||||
|
|
||||||
Consul uses the [Serf](https://www.serf.io) gossip protocol which relies on
|
Consul uses the [Serf](https://github.com/hashicorp/serf/) gossip protocol which relies on
|
||||||
TCP and UDP unicast. Broadcast and Multicast are rarely available in a
|
TCP and UDP unicast. Broadcast and Multicast are rarely available in a
|
||||||
multi-tenant or cloud network environment. For that reason, Consul and Serf
|
multi-tenant or cloud network environment. For that reason, Consul and Serf
|
||||||
were both designed to avoid any dependence on those capabilities.
|
were both designed to avoid any dependence on those capabilities.
|
||||||
|
|
Loading…
Reference in New Issue