Spring Cloud Services for PCF

Build, Operate, Scale and Secure Microservices on Pivotal Cloud Foundry

Compatible with PAS

Compatible with PAS
Can be consumed by apps on PAS

Compatible with PKS
Can be consumed by apps on PKS

Compatible with Standalone PKS
Runs on PKS with no dependency on PAS

Spring Cloud Services (SCS)在Spring Boot、Spring Cloud和NetflixOSS的基础之上构建,可简化在Pivotal Cloud Foundry上运行的微服务的关键操作模式。SCS可打包...

Dynamic Application Configuration, Simplified

Dynamic configuration eliminates the need for application re-deployment when making application configuration updates. Config Server for PCF delivers a dynamic, central configuration service to manage an application’s external properties across all environments.

Dynamic, Distributed Service Discovery

Dynamic Service Discovery is a critical foundation for any microservice-based architecture. Service Registry for PCF provides an implementation of the NetflixOSS Eureka Service Discovery pattern, as a service.

Operational Visibility with Circuit Breaker Dashboard

Graceful, non-cascading failure and compensating actions are critical for distributed systems. The Circuit Breaker dashboard, based on NetflixOSS Hystrix, visualizes a stream of Turbine health and metric data from the circuit breakers inside your microservices or applications.

Cloud-Native Java with Spring Cloud Services
Spring 概述

Spring Cloud Services for PCF simplifies the process of running microservices. It uses BOSH and Cloud Foundry infrastructure automation to rapidly deploy, scale, operate and secure microservices. Spring Cloud Services includes: HA Configuration Server (Stateless), HA Service Registry (Replication), Circuit Breaker with reliable, secure RabbitMQ data transport, blue/green deployment support, zero downtime upgrades, integration with Cloud Foundry’s identity management service (UAA), and container networking.

More about Spring

Integration Features

Option for fully automated management of the service on Pivotal Cloud Foundry. Monitoring, failure recovery, and software updates with zero-to-minimal downtime.

Option to create and destroy the service instance on demand as required.

Supports high availability against internal service failures to minimize downtime for bound applications.

Multi-Availability Zone support. Make use of multiple availability zones in cloud deployments to support failover.

Get visibility into details of service operation through standard monitoring and logging tools for products and Pivotal Cloud Foundry. Receive alerts about detected problems faster problem resolution.

The service is documented with instructions for setup and operation.


Config Server for PCF is an externalized application configuration service. It is a central place to manage an application’s external properties across all environments. The service provides configurations stored as either Java Properties files or YAML files. (The sources of configurations are usually stored as files in a Git repository.) Given the URI of a configuration source, the server clones the repository. The configurations are then made available to client applications in JSON as a series of propertySources.

  • Managing configuration content with Git makes application configuration versioned and auditable.
  • The service manages application configuration for your application as it advances through the deployment pipeline (dev, test, prod).
  • Developers use Config Server to ensure an application has everything it needs to run during this process.
  • Config Server supports labeled versions of environment-specific configurations.
  • HTTPS encryption secures the connections from the source Git to the Config Server instances.

Service Registry for PCF provides an implementation of the Service Discovery pattern, based on NetflixOSS Eureka. This is one of the key tenets of a microservice-based architecture. Why? Manual configuration of each client or service is difficult, often proving brittle in production. Instead, use Service Registry to dynamically discover and call registered services.

  • First, a client registers with the Service Registry. The client also provides metadata about itself, like its host and port.
  • Once registered, the Registry expects a regular heartbeat message from each service instance.
  • If the heartbeat message is not received consistently, the Service Registry removes the instance from its registry.
  • HTTPS encryption secures all client-to-service communication.
  • Registry replication makes the service highly available. It also supports the Cloud Foundry permissions model; developers only see the services they are permitted to see.

The NetflixOSS Hystrix library (part of Spring Cloud Netflix) provides an implementation of the Circuit Breaker pattern. The Circuit Breaker Dashboard for PCF visualizes the metrics of the circuit breakers inside an app. A microservices architecture is often composed of many layers of distributed services. End-user requests may comprise multiple calls to these services. If a lower-level service fails, that failure can cascade up to the end user and spread to other dependent services. Heavy traffic to a failing service can also make it difficult to repair. Hystrix circuit breakers prevent failures from cascading. They can provide fallback behavior until a failing service is restored to normal.

  • When applied to a service, a circuit breaker watches for failing calls to the service. If a failure reaches a certain threshold, it “opens” the circuit.
  • The circuit breaker automatically redirects calls to the specified fallback mechanism. This gives the failing service time to recover.
  • The Circuit Breaker Dashboard runs as a containerized web application and provides operational visibility into the behavior of all of the circuit breakers present in a fleet of cloud-native services.
  • On the platform, Spring Cloud Stream and RabbitMQ infrastructure automatically provide reliable, encrypted transport for streams of NetflixOSS Turbine metrics data.