7
votes
Accepted
Is an Adapter pattern a Proxy pattern? If not, why not?
The short answer, a proxy is supposed to be transparent. It provides the same interface as the system/object it is proxying. But performs an additional task that is not part of the application logic ...
6
votes
Accepted
Why would I use the proxy instead of direct call to RealSubject?
I'm wondering about what does prevent the Client to call directly the RealSubject class.
In general, nothing prevents this. That doesn't mean you don't have mechanisms you can use to prevent this, ...
5
votes
Accepted
What are the advantages of proxy classes?
Important preliminary remarks
First of all, you shouldn't choose a design pattern in a catalogue, because it is trendy or by looking at advantages and inconveniences. You should choose a design ...
4
votes
Proxy Pattern in Python
Using python abstract base classes is super-easy (if you compare it to any other language): https://docs.python.org/3/library/abc.html
In the case you mentioned, the proxy pattern allows you to ...
3
votes
Accepted
Request validation on API proxy
It sounds like you accept search requests from the general Internet.
On the "pro" side you list "won't get overloaded easily",
avoiding user-visible interruptions or slowdowns.
But ...
3
votes
Proxying outer calls for backend services
That would be a proxy as well. And indeed, this technique is often used in high-security industries to monitor and restrict access to the resources outside the company—it could be as well a generic ...
3
votes
What are the advantages of proxy classes?
A note on terminology:
What you are talking about isn't called a proxy. The most common name used for it is "pImpl", being a shortening of "Pointer to Implementation". It is a pattern particular to ...
2
votes
Sharding and application routing cross region on AWS
Main grey area, what can I do when the route goes to the wrong Region/Db?
Re-rout them to the right DB. Seems simple. But...
Tenant 1 went to USA for a holiday and tried to access www.domain.com, ...
2
votes
Proxying outer calls for backend services
To augment Arseni's excellent points...
Another term you might hear is Wrapper: taking some technology specific / 3rd party code and wrapping it with a thin layer of your own code, which the rest of ...
2
votes
Request validation on API proxy
It seems the general issue here is the potential overloading of the backend services.
Sure you might use horizontal autoscaling to "absorb" the extra load, but I would not recommend this if:
...
2
votes
Accepted
How should I handle docker containers and SSL certificates
I think i would have to say that best practice here is to use an application gateway to do the ssl and not have any ssl on the containtered services themselves.
ie
client -> https -> app gateway ...
2
votes
Accepted
Multi Tenancy Aware Gateway routing
The standard solution to this problem is to use DNS.
If you imaging your sharded service as being provisioned by multiple nodes, and each node could fail and be replaced independently then, its normal ...
1
vote
Multi Tenancy Aware Gateway routing
I am currently working on a layout for a multi-tenant, multi-cloud-provider capable microservices architecture that might work for your needs as well. We're using internally maintained DNS servers to ...
1
vote
Accepted
Split requests between different server applications
As you have described the problem, yes your assumptions are correct.
Both NGINX and Apache are built to do this in a very performant way. mod_proxy in Apache or proxy_pass in NGINX are likely to be ...
1
vote
Pattern for endpoint that routes requests?
A bit late, but anyways.
You already answered yourself. The integration pattern or strategy you describe sounds like Pub/Sub
a service that will push notifications to many other services
Commonly ...
1
vote
Pattern for endpoint that routes requests?
As long as you're putting the type into the data and not baking it into the URL, then using the type instead of knowledge about endpoints is considered a Best Practice and is an important part of ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
proxy × 24design-patterns × 5
architecture × 4
https × 3
java × 2
c# × 2
python × 2
.net × 2
microservices × 2
node.js × 2
web-api × 2
networking × 2
websockets × 2
routing × 2
ssl × 2
object-oriented × 1
c++ × 1
algorithms × 1
javascript × 1
rest × 1
security × 1
data-structures × 1
refactoring × 1
interfaces × 1
asp.net × 1