open-consul/website/pages/use-cases/service-discovery-and-health-checking.jsx
Kendall Strautman e33ed2356e
[Assembly]: Website Branding Refresh (#9884)
* style: update gray brand colors

* style: update brand colors

* chore: upgrades base platform deps

* style: updates learn callouts label color

* style: icons to flat consul primary color

* style: errand link styles

* refactor(home): use react-learn-callout

* chore; adds ts config, upgrades components

* chore: upgrade deps

chore: upgrade to latest component styles

chore: upgrades nextjs-scripts

* chore: fix-router

* update deps, add new downloads page

* chore: upgrade to stable deps

chore: use npm 7

* style: home callouts body copy to gray-2

* chore: upgrade hashi-stack-menu

* style: home feature icons update

* chore: upgrade deps body copy colors

* chore: upgrades alert banner

* feat: updates favicon

* style(downloads): adds pre-release and release candidate styles

* fix(home): adds right padding to quote

* content(home): swap assets

* content(uses-cases): updates assets

* chore: removes use cases icon override

* content(use-cases): swap out svgs for pngs

* content: copies asset

* trying again with this asset

* try putting asset in public

* content(use-cases): updates mercedes case study aseset

* chore: upgrades product download page prerelease

* chore: updates product download page to stable

* chore: updates favicon path

Co-authored-by: Jeff Escalante <jescalan@users.noreply.github.com>
2021-05-03 12:01:36 -07:00

186 lines
6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import UseCaseLayout from 'components/use-cases-layout'
import FeaturedSlider from '@hashicorp/react-featured-slider'
import TextSplitWithCode from '@hashicorp/react-text-split-with-code'
import TextSplitWithImage from '@hashicorp/react-text-split-with-image'
export default function ServiceDiscoveryAndHealthCheckingPage() {
return (
<UseCaseLayout
title="Service Discovery and Health Checking"
description="Discover, Register and Resolve services for application workloads across any cloud. Automatically add and remove services based on health checking."
guideLink="https://learn.hashicorp.com/tutorials/consul/service-registration-health-checks"
>
<TextSplitWithImage
textSplit={{
heading: 'Centralized Service Registry',
content:
'Consul enables services to discover each other by storing location information (like IP addresses) in a single registry.',
textSide: 'right',
links: [
{
text: 'Learn More',
url:
'https://learn.hashicorp.com/consul/getting-started/services',
type: 'outbound',
},
],
}}
image={{
url: require('./img/discovery-health-checking/centralized-service-registry.png'),
}}
/>
<TextSplitWithImage
textSplit={{
heading: 'Real-time Health Monitoring',
content:
'Improve application resiliency by using Consul health checks to track the health of deployed services.',
textSide: 'left',
links: [
{
text: 'Learn More',
url:
'https://learn.hashicorp.com/consul/developer-discovery/health-checks',
type: 'outbound',
},
],
}}
image={{
url: '/img/health-checking.png',
}}
/>
<TextSplitWithImage
textSplit={{
heading: 'Open and Extensible API',
content:
'Consuls API allows users to integrate ecosystem technologies into their environments and enable service discovery at greater scale.',
textSide: 'right',
links: [
{
text: 'Learn More',
url:
'https://learn.hashicorp.com/consul?track=cloud-integrations#cloud-integrations',
type: 'outbound',
},
],
}}
image={{
url: require('./img/discovery-health-checking/extesnsible-api.png'),
}}
/>
<TextSplitWithCode
textSplit={{
heading: 'Simplified Resource Discovery',
content:
'Leverage DNS or HTTP interface to discover services and their locations registered with Consul.',
textSide: 'left',
links: [
{
text: 'Learn More',
url:
'https://learn.hashicorp.com/consul/getting-started/services',
type: 'outbound',
},
],
}}
codeBlock={{
code: `$ dig @127.0.0.1 -p 8600 web.service.consul
; <<>> DiG 9.10.6 <<>> @127.0.0.1 -p 8600 web.service.consul SRV
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56598
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 3
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;web.service.consul. IN SRV
;; ANSWER SECTION:
web.service.consul. 0 IN SRV 1 1 80 Judiths-MBP.lan.node.dc1.consul.
;; ADDITIONAL SECTION:
Judiths-MBP.lan.node.dc1.consul. 0 IN A 127.0.0.1
Judiths-MBP.lan.node.dc1.consul. 0 IN TXT "consul-network-segment="
;; Query time: 2 msec
;; SERVER: 127.0.0.1#8600(127.0.0.1)
;; WHEN: Tue Jul 16 14:31:13 PDT 2019
;; MSG SIZE rcvd: 150`,
}}
/>
<TextSplitWithImage
textSplit={{
heading: 'Multi-Region, Multi-Cloud',
content:
'Consuls distributed architecture allows it to be deployed at scale in any environment, in any region, on any cloud.',
textSide: 'right',
links: [
{
text: 'Learn More',
url:
'https://learn.hashicorp.com/collections/consul/datacenter-deploy#datacenter-deploy',
type: 'outbound',
},
],
}}
image={{
url: require('./img/discovery-health-checking/Map.png'),
}}
/>
<div className="with-border">
<TextSplitWithImage
textSplit={{
heading: 'Built for Enterprise Scale',
content:
'Consul Enterprise provides the foundation for organizations to build a strong service networking platform at scale, with resiliency.',
textSide: 'left',
links: [
{
text: 'Read More',
url: '/docs/enterprise',
type: 'inbound',
},
],
}}
image={{
url: require('./img/discovery-health-checking/consul_screenshot@2x.png?url'),
}}
/>
</div>
<FeaturedSlider
heading="Case Study"
theme="dark"
features={[
{
logo: {
url: require('./img/mercedes-logo.svg?url'),
alt: 'Mercedes-Benz',
},
image: {
url: require('./img/discovery-health-checking/mercedes-case-study.png'),
alt: 'Mercedes-Benz Case Study',
},
heading: 'On the Road Again',
content:
'How Mercedes-Benz delivers on service networking to accelerate delivery of its next-gen connected vehicles.',
link: {
text: 'Read Case Study',
url: 'https://www.hashicorp.com/case-studies/mercedes/',
type: 'outbound',
},
},
]}
/>
</UseCaseLayout>
)
}