N-tier and n-layer are
entirely different concepts. N-tier refers to the actual and system components
of your application. For example: Suppose you create a web application, its
components include your application server where it is being hosted, the
database being used with it, on another server and the user machine who access
the application so These are referred to as the 3 tiers of your application.
They may be n in number and so the term n-tier application. So
tiers are the physically separate components of the same system.
On the other
hand, layers refer to the internal architecture of your component. For example:
in your application code, you divide the code into different layers like the
Data access layer (DAL), Business logic layer (BAL), etc. So
they are internal to the component and these layers interact with each other
internally to form the entire component.